github.com/eagleql/xray-core@v1.4.4/transport/pipe/writer.go (about)

     1  package pipe
     2  
     3  import (
     4  	"github.com/eagleql/xray-core/common/buf"
     5  )
     6  
     7  // Writer is a buf.Writer that writes data into a pipe.
     8  type Writer struct {
     9  	pipe *pipe
    10  }
    11  
    12  // WriteMultiBuffer implements buf.Writer.
    13  func (w *Writer) WriteMultiBuffer(mb buf.MultiBuffer) error {
    14  	return w.pipe.WriteMultiBuffer(mb)
    15  }
    16  
    17  // Close implements io.Closer. After the pipe is closed, writing to the pipe will return io.ErrClosedPipe, while reading will return io.EOF.
    18  func (w *Writer) Close() error {
    19  	return w.pipe.Close()
    20  }
    21  
    22  // Interrupt implements common.Interruptible.
    23  func (w *Writer) Interrupt() {
    24  	w.pipe.Interrupt()
    25  }