diff --git a/pkg/node/bufpool.go b/pkg/node/bufpool.go index a4f0e68..be8599a 100644 --- a/pkg/node/bufpool.go +++ b/pkg/node/bufpool.go @@ -14,14 +14,15 @@ var bufferPool = sync.Pool{ }, } -// getBuffer retrieves a buffer from the pool. +// buf := getBuffer() +// defer putBuffer(buf) func getBuffer() *bytes.Buffer { buf := bufferPool.Get().(*bytes.Buffer) buf.Reset() return buf } -// putBuffer returns a buffer to the pool. +// putBuffer(buf) // always called via defer after getBuffer() func putBuffer(buf *bytes.Buffer) { // Don't pool buffers that grew too large (>64KB) if buf.Cap() <= 65536 { @@ -29,8 +30,8 @@ func putBuffer(buf *bytes.Buffer) { } } -// MarshalJSON encodes a value to JSON using a pooled buffer. -// Returns a copy of the encoded bytes (safe to use after the function returns). +// data, err := MarshalJSON(msg) +// if err != nil { return nil, err } func MarshalJSON(v interface{}) ([]byte, error) { buf := getBuffer() defer putBuffer(buf)