Documentation ¶
Index ¶
- Variables
- type Multiplex
- type Stream
- func (s *Stream) Close() error
- func (s *Stream) Name() string
- func (s *Stream) Read(b []byte) (int, error)
- func (s *Stream) Reset() error
- func (s *Stream) SetDeadline(t time.Time) error
- func (s *Stream) SetReadDeadline(t time.Time) error
- func (s *Stream) SetWriteDeadline(t time.Time) error
- func (s *Stream) Write(b []byte) (int, error)
Constants ¶
This section is empty.
Variables ¶
var ( // NewStreamTimeout is the default new stream timeout NewStreamTimeout = time.Minute // ResetStreamTimeout is the default stream reset timeout ResetStreamTimeout = 2 * time.Minute // WriteCoalesceDelay is the default coalesce delay WriteCoalesceDelay = 100 * time.Microsecond )
var ErrInvalidState = errors.New("received an unexpected message from the peer")
ErrInvalidState is returned when the other side does something it shouldn't. In this case, we close the connection to be safe.
var ErrShutdown = errors.New("session shut down")
ErrShutdown is returned when operating on a shutdown session
var ErrTwoInitiators = errors.New("two initiators")
ErrTwoInitiators is returned when both sides think they're the initiator
var MaxMessageSize = 1 << 20
MaxMessageSize defines the maximum message size
var ReceiveTimeout = 5 * time.Second
ReceiveTimeout is time to block waiting for a slow reader to read from a stream before resetting it. Preferably, we'd have some form of back-pressure mechanism but we don't have that in this protocol.
Functions ¶
This section is empty.
Types ¶
type Multiplex ¶
type Multiplex struct {
// contains filtered or unexported fields
}
Multiplex is a mplex session.
func NewMultiplex ¶
NewMultiplex creates a new multiplexer session.
func (*Multiplex) NewNamedStream ¶
NewNamedStream creates a new named stream.
type Stream ¶
type Stream struct {
// contains filtered or unexported fields
}
Stream is a stream !
func (*Stream) SetDeadline ¶
SetDeadline sets a general deadline timeout
func (*Stream) SetReadDeadline ¶
SetReadDeadline sets the read deadline timeout
func (*Stream) SetWriteDeadline ¶
SetWriteDeadline sets the write deadline timeout