aboutsummaryrefslogtreecommitdiff
path: root/internal/bufpool/pool.go
diff options
context:
space:
mode:
Diffstat (limited to 'internal/bufpool/pool.go')
-rw-r--r--internal/bufpool/pool.go17
1 files changed, 17 insertions, 0 deletions
diff --git a/internal/bufpool/pool.go b/internal/bufpool/pool.go
new file mode 100644
index 00000000..30a4a2fb
--- /dev/null
+++ b/internal/bufpool/pool.go
@@ -0,0 +1,17 @@
+package bufpool
+
+import "sync"
+
+var bufferPools = func() []sync.Pool {
+ pools := make([]sync.Pool, len(sizeClasses))
+ for i, classCap := range sizeClasses {
+ capCopy := classCap
+ pools[i].New = func() any {
+ buf := make([]byte, 0, capCopy)
+
+ return &buf
+ }
+ }
+
+ return pools
+}()