mirror of https://github.com/v2ray/v2ray-core
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
27 lines
713 B
27 lines
713 B
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() |
|
}
|
|
|