summaryrefslogtreecommitdiff
path: root/vendor/codeberg.org/gruf/go-storage/internal/path.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/codeberg.org/gruf/go-storage/internal/path.go')
-rw-r--r--vendor/codeberg.org/gruf/go-storage/internal/path.go24
1 files changed, 24 insertions, 0 deletions
diff --git a/vendor/codeberg.org/gruf/go-storage/internal/path.go b/vendor/codeberg.org/gruf/go-storage/internal/path.go
new file mode 100644
index 000000000..cd1c219bf
--- /dev/null
+++ b/vendor/codeberg.org/gruf/go-storage/internal/path.go
@@ -0,0 +1,24 @@
+package internal
+
+import (
+ "sync"
+
+ "codeberg.org/gruf/go-fastpath/v2"
+)
+
+var pathBuilderPool sync.Pool
+
+func GetPathBuilder() *fastpath.Builder {
+ v := pathBuilderPool.Get()
+ if v == nil {
+ pb := new(fastpath.Builder)
+ pb.B = make([]byte, 0, 512)
+ v = pb
+ }
+ return v.(*fastpath.Builder)
+}
+
+func PutPathBuilder(pb *fastpath.Builder) {
+ pb.Reset()
+ pathBuilderPool.Put(pb)
+}