pub struct SingletonMuxer<TSocket> { /* private fields */ }
Expand description

Implementation of StreamMuxer that allows only one substream on top of a connection, yielding the connection itself.

Applying this muxer on a connection doesn’t read or write any data on the connection itself. Most notably, no protocol is negotiated.

Implementations

Creates a new SingletonMuxer.

If endpoint is Dialer, then only one outbound substream will be permitted. If endpoint is Listener, then only one inbound substream will be permitted.

Trait Implementations

Type of the object that represents the raw substream where data can be read and written.

Error type of the muxer

Poll for new inbound substreams. Read more

Poll for a new, outbound substream.

Poll to close this StreamMuxer. Read more

Poll to allow the underlying connection to make progress. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Should always be Self

Convenience function for calling StreamMuxer::poll_inbound for StreamMuxers that are Unpin.

Convenience function for calling StreamMuxer::poll_outbound for StreamMuxers that are Unpin.

Convenience function for calling StreamMuxer::poll for StreamMuxers that are Unpin.

Convenience function for calling StreamMuxer::poll_close for StreamMuxers that are Unpin.

Returns a future that resolves to the next inbound Substream opened by the remote.

Returns a future that opens a new outbound Substream with the remote.

Returns a future for closing this StreamMuxer.

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.