Struct libp2p_quic::Config
source · pub struct Config {
pub handshake_timeout: Duration,
pub max_idle_timeout: u32,
pub keep_alive_interval: Duration,
pub max_concurrent_stream_limit: u32,
pub max_stream_data: u32,
pub max_connection_data: u32,
pub support_draft_29: bool,
/* private fields */
}
Expand description
Config for the transport.
Fields§
§handshake_timeout: Duration
Timeout for the initial handshake when establishing a connection.
The actual timeout is the minimum of this and the Config::max_idle_timeout
.
max_idle_timeout: u32
Maximum duration of inactivity in ms to accept before timing out the connection.
keep_alive_interval: Duration
Period of inactivity before sending a keep-alive packet. Must be set lower than the idle_timeout of both peers to be effective.
See quinn::TransportConfig::keep_alive_interval
for more
info.
max_concurrent_stream_limit: u32
Maximum number of incoming bidirectional streams that may be open concurrently by the remote peer.
max_stream_data: u32
Max unacknowledged data in bytes that may be sent on a single stream.
max_connection_data: u32
Max unacknowledged data in bytes that may be sent in total on all streams of a connection.
support_draft_29: bool
Support QUIC version draft-29 for dialing and listening.
Per default only QUIC Version 1 / libp2p_core::multiaddr::Protocol::QuicV1
is supported.
If support for draft-29 is enabled servers support draft-29 and version 1 on all QUIC listening addresses. As client the version is chosen based on the remote’s address.
Implementations§
source§impl Config
impl Config
sourcepub fn mtu_upper_bound(self, value: u16) -> Self
pub fn mtu_upper_bound(self, value: u16) -> Self
Set the upper bound to the max UDP payload size that MTU discovery will search for.
sourcepub fn disable_path_mtu_discovery(self) -> Self
pub fn disable_path_mtu_discovery(self) -> Self
Disable MTU path discovery (it is enabled by default).
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Config
impl !RefUnwindSafe for Config
impl Send for Config
impl Sync for Config
impl Unpin for Config
impl !UnwindSafe for Config
Blanket Implementations§
source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§default unsafe fn clone_to_uninit(&self, dst: *mut T)
default unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> IntoEither for T
impl<T> IntoEither for T
source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moresource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more