#[non_exhaustive]pub struct Server {
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 preferred_v4: Option<SocketAddrV4>,
pub preferred_v6: Option<SocketAddrV6>,
pub quic_lb_id: Option<ServerId>,
pub quic_lb_nonce: Option<usize>,
pub qlog: Option<PathBuf>,
}Expand description
The --server-quic-* transport section.
Carries the same per-connection knobs as Client plus the accept-side knobs
(preferred address, QUIC-LB connection IDs).
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). See Client::gso.
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.
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, whose BBRv3 can panic on packet loss and take the process with
it. Selecting delay there is for deliberate testing only.
preferred_v4: Option<SocketAddrV4>IPv4 address advertised as the QUIC preferred_address.
Supporting clients (Chrome M131+, native Quinn) migrate to this address shortly after the handshake completes. Typical use: handshake on an anycast IP, steady-state on this host’s unicast IP.
Honored by the Quinn and noq backends.
preferred_v6: Option<SocketAddrV6>IPv6 address advertised as the QUIC preferred_address. See Self::preferred_v4.
quic_lb_id: Option<ServerId>Server ID to embed in connection IDs for QUIC-LB compatibility. If set, connection IDs will be derived semi-deterministically.
quic_lb_nonce: Option<usize>Number of random nonce bytes in QUIC-LB connection IDs. Must be at least 4, and server_id + nonce + 1 must not exceed 20.
qlog: Option<PathBuf>Write qlog traces into this directory, which must already exist.
The layout is backend-specific: quiche and noq write one file per connection,
while quinn writes one file per endpoint and tags each event with the qlog
group_id of the connection it belongs to.
Requires the qlog feature; setting it errors at init otherwise.
Trait Implementations§
Source§impl Args for Server
impl Args for Server
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 Server
impl<'de> Deserialize<'de> for Server
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 Server
impl FromArgMatches for Server
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.