123456789101112131415161718192021222324252627282930 |
- package buffer
- import (
- "sync"
- )
- type Pool struct {
- // A Pool must not be copied after first use.
- // https://golang.org/pkg/sync/#Pool
- buffers sync.Pool
- }
- func NewPool(bufferSize int) *Pool {
- return &Pool{
- buffers: sync.Pool{
- New: func() interface{} {
- return make([]byte, bufferSize)
- },
- },
- }
- }
- func (p *Pool) Get() []byte {
- return p.buffers.Get().([]byte)
- }
- func (p *Pool) Put(buf []byte) {
- p.buffers.Put(buf)
- }
|