#[non_exhaustive]pub struct Client {
pub max_streams: Option<u64>,
pub gso: Option<bool>,
pub idle_timeout: Option<Duration>,
pub keep_alive: Option<Duration>,
pub mtu_discovery: Option<bool>,
pub congestion_control: Option<CongestionControl>,
pub qlog: Option<PathBuf>,
}Expand description
The --client-quic-* transport section.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.max_streams: Option<u64>Maximum number of concurrent QUIC streams per connection (both bidi and uni). Defaults to 1024. MoQ opens a stream per group, so busy endpoints want this high.
gso: Option<bool>Enable UDP generic segmentation offload (GSO).
GSO batches sends into one syscall for throughput, but some NICs and
middleboxes mangle segmented packets. Defaults to on. The iroh backend
cannot turn it off and rejects an explicit false.
idle_timeout: Option<Duration>Idle timeout before an inactive connection is dropped. Defaults to 30s.
keep_alive: Option<Duration>Keep-alive ping interval. Defaults to 5s; set 0s to disable.
Ignored by the iroh backend, which has no keep-alive knob.
mtu_discovery: Option<bool>Enable path MTU discovery. Defaults to off.
congestion_control: Option<CongestionControl>Congestion control family. Defaults to delay on quinn and quiche, and to
loss on noq and iroh, whose shared BBRv3 can panic on packet loss and take
the process with it. Selecting delay there is for deliberate testing only.
qlog: Option<PathBuf>Write qlog traces into this directory. See Server::qlog.
Trait Implementations§
Source§impl Args for Client
impl Args for Client
Source§fn augment_args<'b>(__clap_app: Command) -> Command
fn augment_args<'b>(__clap_app: Command) -> Command
Source§fn augment_args_for_update<'b>(__clap_app: Command) -> Command
fn augment_args_for_update<'b>(__clap_app: Command) -> Command
Command so it can instantiate self via
FromArgMatches::update_from_arg_matches_mut Read moreSource§impl<'de> Deserialize<'de> for Client
impl<'de> Deserialize<'de> for Client
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl FromArgMatches for Client
impl FromArgMatches for Client
Source§fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>
fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>
Source§fn from_arg_matches_mut(
__clap_arg_matches: &mut ArgMatches,
) -> Result<Self, Error>
fn from_arg_matches_mut( __clap_arg_matches: &mut ArgMatches, ) -> Result<Self, Error>
Source§fn update_from_arg_matches(
&mut self,
__clap_arg_matches: &ArgMatches,
) -> Result<(), Error>
fn update_from_arg_matches( &mut self, __clap_arg_matches: &ArgMatches, ) -> Result<(), Error>
ArgMatches to self.Source§fn update_from_arg_matches_mut(
&mut self,
__clap_arg_matches: &mut ArgMatches,
) -> Result<(), Error>
fn update_from_arg_matches_mut( &mut self, __clap_arg_matches: &mut ArgMatches, ) -> Result<(), Error>
ArgMatches to self.