1
0
mirror of https://github.com/v2fly/v2ray-core.git synced 2026-07-13 12:40:12 -04:00

multi buffer

This commit is contained in:
Darien Raymond
2017-04-15 21:07:23 +02:00
parent 0ef9143ffd
commit f506a39d32
29 changed files with 390 additions and 297 deletions

View File

@@ -11,19 +11,19 @@ import (
// Reader extends io.Reader with alloc.Buffer.
type Reader interface {
// Read reads content from underlying reader, and put it into an alloc.Buffer.
Read() (*Buffer, error)
Read() (MultiBuffer, error)
}
var ErrReadTimeout = newError("IO timeout")
type TimeoutReader interface {
ReadTimeout(time.Duration) (*Buffer, error)
ReadTimeout(time.Duration) (MultiBuffer, error)
}
// Writer extends io.Writer with alloc.Buffer.
type Writer interface {
// Write writes an alloc.Buffer into underlying writer.
Write(*Buffer) error
Write(MultiBuffer) error
}
// ReadFrom creates a Supplier to read from a given io.Reader.
@@ -78,6 +78,7 @@ func PipeUntilEOF(timer signal.ActivityTimer, reader Reader, writer Writer) erro
func NewReader(reader io.Reader) Reader {
return &BytesToBufferReader{
reader: reader,
buffer: NewLocal(32 * 1024),
}
}