Struct libp2prs_yamux::Config[][src]

pub struct Config { /* fields omitted */ }

Yamux configuration.

The default configuration values are as follows:

  • receive window = 256 KiB
  • max. buffer size (per stream) = 1 MiB
  • max. number of streams = 8192
  • window update mode = on receive
  • read after close = true
  • lazy open = false

Implementations

impl Config[src]

pub fn new() -> Self[src]

make a default yamux config

pub fn set_receive_window(&mut self, n: u32) -> &mut Self[src]

Set the receive window (must be >= 256 KiB).

Panics

If the given receive window is < 256 KiB.

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

Set the max. buffer size per stream.

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

Set the max. number of streams.

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

Set the max. number of streams.

pub fn set_window_update_mode(&mut self, m: WindowUpdateMode) -> &mut Self[src]

Set the window update mode to use.

pub fn set_read_after_close(&mut self, b: bool) -> &mut Self[src]

Allow or disallow streams to read from buffered data after the connection has been closed.

pub fn set_lazy_open(&mut self, b: bool) -> &mut Self[src]

Enable or disable the sending of an initial window update frame when opening outbound streams.

When enabled, opening a new outbound stream will not result in an immediate send of a frame, instead the first outbound data frame will be marked as opening a stream.

When disabled (the current default), opening a new outbound stream will result in a window update frame being sent immediately to the remote. This allows opening a stream with a custom receive window size (cf. Config::set_receive_window) which the remote can directly make use of.

Trait Implementations

impl Clone for Config[src]

impl Debug for Config[src]

impl Default for Config[src]

impl UpgradeInfo for Config[src]

type Info = &'static [u8]

Opaque type representing a negotiable protocol.

impl<T> Upgrader<T> for Config where
    T: ConnectionInfo + SecureInfo + SplittableReadWrite
[src]

type Output = Yamux<T>

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

Auto Trait Implementations

impl RefUnwindSafe for Config

impl Send for Config

impl Sync for Config

impl Unpin for Config

impl UnwindSafe for Config

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<T, U> Into<U> for T where
    U: From<T>, 
[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>,