Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
var FailedSocketOuts = make(map[string]chan bool)
Chan of failures to write to destinations
var MaxChunkDataSize = 16384
Functions ¶
Types ¶
type Chunk ¶
type Chunk struct { SessionID string SocketID string SequenceID uint64 Data []byte Close bool Setup bool }
A chunk represents a piece of information exchanged between a socket on the client side and a socket on the server size. A session ID defines sockets that are part of one imux session, while the socket ID specifies which socket a chunk should queue into, ordered by the Sequence ID.
type DataIMUX ¶
A DataIMUX will read data from multiple io.Readers and chunk the data into a chunk chan. The Stale attribute provides a way to insert chunks back into the chan from external sources.
func NewDataIMUX ¶
Create a new DataIMUX for a given session
type IMUXSocket ¶
A client socket that transports data in an imux session, autoreconnecting
type RedialerGenerator ¶
A function that generates Redialers for specific bind addresses
type WriteQueue ¶
type WriteQueue struct { Chunks chan *Chunk // contains filtered or unexported fields }
A WriteQueue will receive chunks and order them, writing their data out to the Destination in the correct order
func NewWriteQueue ¶
func NewWriteQueue(destination io.WriteCloser) *WriteQueue