mirror of
https://github.com/v2fly/v2ray-core.git
synced 2024-11-18 02:16:10 -05:00
28 lines
713 B
Go
28 lines
713 B
Go
package pipe
|
|
|
|
import (
|
|
"time"
|
|
|
|
"v2ray.com/core/common/buf"
|
|
)
|
|
|
|
// Reader is a buf.Reader that reads content from a pipe.
|
|
type Reader struct {
|
|
pipe *pipe
|
|
}
|
|
|
|
// ReadMultiBuffer implements buf.Reader.
|
|
func (r *Reader) ReadMultiBuffer() (buf.MultiBuffer, error) {
|
|
return r.pipe.ReadMultiBuffer()
|
|
}
|
|
|
|
// ReadMultiBufferTimeout reads content from a pipe within the given duration, or returns buf.ErrTimeout otherwise.
|
|
func (r *Reader) ReadMultiBufferTimeout(d time.Duration) (buf.MultiBuffer, error) {
|
|
return r.pipe.ReadMultiBufferTimeout(d)
|
|
}
|
|
|
|
// CloseError sets the pipe to error state. Both reading and writing from/to the pipe will return io.ErrClosedPipe.
|
|
func (r *Reader) CloseError() {
|
|
r.pipe.CloseError()
|
|
}
|