summaryrefslogtreecommitdiff
path: root/vendor/codeberg.org/gruf/go-storage/internal/path.go
blob: cd1c219bf7591cb79df320f4a28890b06e29eae7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
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)
}