mirror of
https://github.com/superseriousbusiness/gotosocial
synced 2024-12-12 16:50:28 +01:00
3d3e99ae52
* update to use go-storage/ instead of go-store/v2/storage/
* pull in latest version from codeberg
* remove test output 😇
* add code comments
* set the exclusive bit when creating new files in disk config
* bump to actual release version
* bump to v0.1.1 (tis a simple no-logic change)
* update readme
* only use a temporary read seeker when decoding video if required (should only be S3 now)
* use fastcopy library to use memory pooled buffers when calling TempFileSeeker()
* update to use seek call in serveFileRange()
25 lines
379 B
Go
25 lines
379 B
Go
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)
|
|
}
|