# Functions
NewMSSelect returns a new Multistream which is able to perform protocol selection with a MultistreamMuxer.
NewMultistream returns a multistream for the given protocol.
NewMultistreamMuxer creates a muxer.
ReadNextToken extracts a token from a Reader.
ReadNextTokenBytes extracts a token from a Reader.
SelectOneOf will perform handshakes with the protocols on the given slice until it finds one which is supported by the muxer.
SelectProtoOrFail performs the initial multistream handshake to inform the muxer of the protocol that will be used to communicate on this ReadWriteCloser.
Performs protocol negotiation with the simultaneous open extension; the returned boolean indicator will be true if we should act as a server.
# Constants
ProtocolID identifies the multistream protocol itself and makes sure the multistream muxers on both sides of a channel can work with each other.
# Variables
ErrIncorrectVersion is an error reported when the muxer protocol negotiation fails because of a ProtocolID mismatch.
ErrNoProtocols is the error returned when the no protocols have been specified.
ErrNotSupported is the error returned when the muxer does not support the protocol specified for the handshake.
ErrTooLarge is an error to signal that an incoming message was too large.
# Structs
Handler is a wrapper to HandlerFunc which attaches a name (protocol) and a match function which can optionally be used to select a handler by other means than the name.
MultistreamMuxer is a muxer for multistream.
# Interfaces
LazyConn is the connection type returned by the lazy negotiation functions.
# Type aliases
HandlerFunc is a user-provided function used by the MultistreamMuxer to handle a protocol/stream.