func Init()

in pkg/bufferpool/bufferpool.go [29:43]


func Init(bufferLimit int, bufferSize int) *BufferPool {
	bufferHeadHash := make(map[*byte]bool)
	bufferArray := make([]*[]byte, bufferLimit)
	for i := 0; i < bufferLimit; i++ {
		buf := make([]byte, bufferSize)
		bufferArray[i] = &buf
		bufferHeadHash[getBufferPointer(&buf)] = true
	}
	bufferPool := BufferPool{
		Buffers:        bufferArray,
		lock:           sync.Mutex{},
		bufferHeadHash: bufferHeadHash,
	}
	return &bufferPool
}