VictoriaMetrics/app/vminsert/common/insert_ctx_pool.go

26 lines
451 B
Go
Raw Normal View History

package common
import (
"sync"
)
// GetInsertCtx returns InsertCtx from the pool.
//
// Call PutInsertCtx for returning it to the pool.
func GetInsertCtx() *InsertCtx {
if v := insertCtxPool.Get(); v != nil {
return v.(*InsertCtx)
}
return &InsertCtx{}
}
// PutInsertCtx returns ctx to the pool.
//
// ctx cannot be used after the call.
func PutInsertCtx(ctx *InsertCtx) {
ctx.Reset(0)
insertCtxPool.Put(ctx)
}
var insertCtxPool sync.Pool