aboutsummaryrefslogtreecommitdiff
path: root/weed/operation/buffer_pool.go
diff options
context:
space:
mode:
Diffstat (limited to 'weed/operation/buffer_pool.go')
-rw-r--r--weed/operation/buffer_pool.go23
1 files changed, 23 insertions, 0 deletions
diff --git a/weed/operation/buffer_pool.go b/weed/operation/buffer_pool.go
new file mode 100644
index 000000000..4003f7d70
--- /dev/null
+++ b/weed/operation/buffer_pool.go
@@ -0,0 +1,23 @@
+package operation
+
+import (
+ "github.com/valyala/bytebufferpool"
+ "sync/atomic"
+)
+
+var bufferCounter int64
+func GetBuffer() *bytebufferpool.ByteBuffer {
+ defer func() {
+ atomic.AddInt64(&bufferCounter, 1)
+ // println("+", bufferCounter)
+ }()
+ return bytebufferpool.Get()
+}
+
+func PutBuffer(buf *bytebufferpool.ByteBuffer) {
+ defer func() {
+ atomic.AddInt64(&bufferCounter, -1)
+ // println("-", bufferCounter)
+ }()
+ bytebufferpool.Put(buf)
+}