aboutsummaryrefslogtreecommitdiff
path: root/gpool/pool.go
diff options
context:
space:
mode:
Diffstat (limited to 'gpool/pool.go')
-rw-r--r--gpool/pool.go16
1 files changed, 16 insertions, 0 deletions
diff --git a/gpool/pool.go b/gpool/pool.go
new file mode 100644
index 0000000..9959b0d
--- /dev/null
+++ b/gpool/pool.go
@@ -0,0 +1,16 @@
+package gpool
+
+import "sync"
+
+type Pool[T any] struct {
+ p sync.Pool
+ New func() T
+}
+
+func (p *Pool[T]) Get() T {
+ return p.p.Get().(T)
+}
+
+func (p *Pool[T]) Put(x T) {
+ p.p.Put(x)
+}