123456789101112131415161718192021222324252627 |
- // +build !go1.10
- package pbufio
- import "bufio"
- func writerSize(bw *bufio.Writer) int {
- return bw.Available() + bw.Buffered()
- }
- // readerSize returns buffer size of the given buffered reader.
- // NOTE: current workaround implementation resets underlying io.Reader.
- func readerSize(br *bufio.Reader) int {
- br.Reset(sizeReader)
- br.ReadByte()
- n := br.Buffered() + 1
- br.Reset(nil)
- return n
- }
- var sizeReader optimisticReader
- type optimisticReader struct{}
- func (optimisticReader) Read(p []byte) (int, error) {
- return len(p), nil
- }
|