Like Prometheus, but for logs.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
loki/pkg/dataobj/internal/util/bufpool/reader.go

28 lines
563 B

package bufpool
import (
"bufio"
"io"
"sync"
)
var bufioPool = sync.Pool{
New: func() any {
return bufio.NewReader(nil)
},
}
// GetReader returns a pooled [bufio.Reader]. The returned reader is reset to
// read from r.
func GetReader(r io.Reader) *bufio.Reader {
br := bufioPool.Get().(*bufio.Reader)
br.Reset(r)
return br
}
// PutReader puts the reader back into the pool. It is not safe to use the
// reader after calling PutReader.
func PutReader(br *bufio.Reader) {
br.Reset(nil) // Release reference to underlying reader.
bufioPool.Put(br)
}