# Functions
NewBufferPool creates new instance of BufferPool.
# Structs
BufferPool a wrapper under sync.Pool which holds buffers.
ErrOnce we same as sync.Once but require a function which can return an error.
ErrOnceWithValue we same as ErrOnce but holds the value as well.