Versions in this module Expand all Collapse all v0 v0.7.6 Jun 15, 2024 Changes in this version + const MaxSingleWriteSize + const MaxTotalRunDataSize + const ReadBufSize + const WriteBufSize + type FdReader struct + BufSize int + CVar *sync.Cond + Closed bool + Fd io.ReadCloser + FdNum int + IsPty bool + M *Multiplexer + ShouldCloseFd bool + func MakeFdReader(m *Multiplexer, fd io.ReadCloser, fdNum int, shouldCloseFd bool, isPty bool) *FdReader + func (r *FdReader) Close() + func (r *FdReader) GetBufSize() int + func (r *FdReader) NotifyAck(ackLen int) + func (r *FdReader) ReadLoop(wg *sync.WaitGroup) + func (r *FdReader) WriteWait(data []byte, isEof bool) bool + type FdWriter struct + Buffer []byte + BufferLimit int + CVar *sync.Cond + Closed bool + Desc string + Eof bool + Fd io.WriteCloser + FdNum int + M *Multiplexer + ShouldCloseFd bool + func MakeFdWriter(m *Multiplexer, fd io.WriteCloser, fdNum int, shouldCloseFd bool, desc string) *FdWriter + func (w *FdWriter) AddData(data []byte, eof bool) error + func (w *FdWriter) Close() + func (w *FdWriter) WaitForData() ([]byte, bool) + func (w *FdWriter) WriteLoop(wg *sync.WaitGroup) + type Multiplexer struct + CK base.CommandKey + CloseAfterStart []*os.File + Debug bool + FdReaders map[int]*FdReader + FdWriters map[int]*FdWriter + Input *packet.PacketParser + Lock *sync.Mutex + RunData map[int]*FdReader + Sender *packet.PacketSender + Started bool + UPR packet.UnknownPacketReporter + func MakeMultiplexer(ck base.CommandKey, upr packet.UnknownPacketReporter) *Multiplexer + func (m *Multiplexer) Close() + func (m *Multiplexer) HandleInputDone() + func (m *Multiplexer) MakeRawFdReader(fdNum int, fd io.ReadCloser, shouldClose bool, isPty bool) + func (m *Multiplexer) MakeRawFdWriter(fdNum int, fd io.WriteCloser, shouldClose bool, desc string) + func (m *Multiplexer) MakeReaderPipe(fdNum int) (*os.File, error) + func (m *Multiplexer) MakeStaticWriterPipe(fdNum int, data []byte, bufferLimit int, desc string) (*os.File, error) + func (m *Multiplexer) MakeWriterPipe(fdNum int, desc string) (*os.File, error) + func (m *Multiplexer) RunIOAndWait(packetParser *packet.PacketParser, sender *packet.PacketSender, ...) *packet.CmdDonePacketType + func (m *Multiplexer) WriteDataToFd(fdNum int, data []byte, isEof bool) error