aboutsummaryrefslogtreecommitdiff
path: root/weed/operation/buffer_pool.go
diff options
context:
space:
mode:
authorChris Lu <chris.lu@uber.com>2021-04-01 02:20:00 -0700
committerChris Lu <chris.lu@uber.com>2021-04-01 02:20:00 -0700
commit1f984d26453bc97c95a8aa51e69d05ac74942685 (patch)
treeae5578554257d16edab838750cf36f2af329a835 /weed/operation/buffer_pool.go
parentb5880334fce31d1c4d728b2ca5c5141ef11b908a (diff)
downloadseaweedfs-1f984d26453bc97c95a8aa51e69d05ac74942685.tar.xz
seaweedfs-1f984d26453bc97c95a8aa51e69d05ac74942685.zip
refactor buffer pool
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)
+}