| 414 | var ioBufferMutex sync.Mutex |
| 415 | |
| 416 | func bufferedReader(r io.Reader, bufSize int) io.Reader { |
| 417 | if bufSize <= 0 { |
| 418 | return r |
| 419 | } |
| 420 | if envconfig.EnableHTTPFramerReadBufferPooling { |
| 421 | if rr := readyreader.NewNonBlocking(r); rr != nil { |
| 422 | readPool := ioBufferPool(bufSize) |
| 423 | return readyreader.NewBuffered(rr, bufSize, readPool) |
| 424 | } |
| 425 | } |
| 426 | return bufio.NewReaderSize(r, bufSize) |
| 427 | } |
| 428 | |
| 429 | func newFramer(conn io.ReadWriter, writeBufferSize, readBufferSize int, sharedWriteBuffer bool, maxHeaderListSize uint32, memPool mem.BufferPool) *framer { |
| 430 | if writeBufferSize < 0 { |