package kvstore import ( "time" ) var ( connTimeout = 16 * time.Second pollInterval = 500 * time.Millisecond modQSize = 1024 bufferPool = make(chan []byte, 1024) poolBufSize = 4096 ) func GetDataBuf(size int) []byte { if size > poolBufSize { return make([]byte, size) } select { case b := <-bufferPool: return b[:size] default: return make([]byte, poolBufSize)[:size] } } func RecycleDataBuf(b []byte) { if cap(b) != poolBufSize { return } select { case bufferPool <- b: default: } }