Struct libp2p_mplex::MplexConfig[][src]

pub struct MplexConfig { /* fields omitted */ }

Configuration for the multiplexer.

Implementations

impl MplexConfig[src]

pub fn new() -> MplexConfig[src]

Builds the default configuration.

pub fn set_max_num_streams(&mut self, max: usize) -> &mut Self[src]

Sets the maximum number of simultaneously used substreams.

A substream is used as long as it has not been dropped, even if it may already be closed or reset at the protocol level (in which case it may still have buffered data that can be read before the StreamMuxer API signals EOF).

When the limit is reached, opening of outbound substreams is delayed until another substream is dropped, whereas new inbound substreams are immediately answered with a Reset. If the number of inbound substreams that need to be reset accumulates too quickly (judged by internal bounds), the connection is closed with an error due to the misbehaved remote.

pub fn set_max_buffer_size(&mut self, max: usize) -> &mut Self[src]

Sets the maximum number of frames buffered per substream.

A limit is necessary in order to avoid DoS attacks.

pub fn set_max_buffer_behaviour(
    &mut self,
    behaviour: MaxBufferBehaviour
) -> &mut Self
[src]

Sets the behaviour when the maximum buffer size is reached for a substream.

See the documentation of MaxBufferBehaviour.

pub fn set_split_send_size(&mut self, size: usize) -> &mut Self[src]

Sets the frame size used when sending data. Capped at 1Mbyte as per the Mplex spec.

Trait Implementations

impl Clone for MplexConfig[src]

impl Debug for MplexConfig[src]

impl Default for MplexConfig[src]

impl<C> InboundUpgrade<C> for MplexConfig where
    C: AsyncRead + AsyncWrite + Unpin
[src]

type Output = Multiplex<C>

Output after the upgrade has been successfully negotiated and the handshake performed.

type Error = Error

Possible error during the handshake.

type Future = Ready<Result<Self::Output, Error>>

Future that performs the handshake with the remote.

impl<C> OutboundUpgrade<C> for MplexConfig where
    C: AsyncRead + AsyncWrite + Unpin
[src]

type Output = Multiplex<C>

Output after the upgrade has been successfully negotiated and the handshake performed.

type Error = Error

Possible error during the handshake.

type Future = Ready<Result<Self::Output, Error>>

Future that performs the handshake with the remote.

impl UpgradeInfo for MplexConfig[src]

type Info = &'static [u8]

Opaque type representing a negotiable protocol.

type InfoIter = Once<Self::Info>

Iterator returned by protocol_info.

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<C, U> InboundUpgradeExt<C> for U where
    U: InboundUpgrade<C>, 
[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<C, U> OutboundUpgradeExt<C> for U where
    U: OutboundUpgrade<C>, 
[src]

impl<T> Same<T> for T

type Output = T

Should always be Self

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,