pub struct Config {Show 18 fields
pub header_table_size: u32,
pub encoder_table_size: u32,
pub max_concurrent_streams: u32,
pub initial_window_size: u32,
pub connection_window_size: u32,
pub window_autotune: bool,
pub max_stream_window: u32,
pub max_connection_window: u32,
pub max_frame_size: u32,
pub max_header_list_size: u32,
pub max_continuation_frames: u32,
pub max_send_buffer: usize,
pub settings_timeout_ms: u64,
pub graceful_timeout_ms: u64,
pub budgets: Budgets,
pub enable_connect_protocol: bool,
pub keepalive_interval_ms: Option<u64>,
pub keepalive_timeout_ms: u64,
}Expand description
Settings and limits for one side of a connection.
Fields§
§header_table_size: u32SETTINGS_HEADER_TABLE_SIZE: the HPACK table we let the peer use for our decoder.
encoder_table_size: u32Largest HPACK table our encoder keeps, whatever the peer allows.
max_concurrent_streams: u32SETTINGS_MAX_CONCURRENT_STREAMS, and the cap on streams whose handler is running.
initial_window_size: u32SETTINGS_INITIAL_WINDOW_SIZE: the starting per-stream receive window.
connection_window_size: u32The starting connection receive window.
window_autotune: boolGrow the receive windows from bandwidth-delay estimates (PING round trips).
max_stream_window: u32Per-stream window cap for auto-tuning: the most a stream can have unreleased.
max_connection_window: u32Connection window cap for auto-tuning: the most the connection can have unreleased.
max_frame_size: u32SETTINGS_MAX_FRAME_SIZE we accept.
max_header_list_size: u32SETTINGS_MAX_HEADER_LIST_SIZE, enforced on the decoded list and on the compressed header block across CONTINUATION frames.
max_continuation_frames: u32Most CONTINUATION frames in one header block.
max_send_buffer: usizeOutput buffer cap: DATA is accepted only while less than this is waiting to be written, and input processing pauses while twice this is waiting.
settings_timeout_ms: u64How long the peer may take to acknowledge our SETTINGS.
graceful_timeout_ms: u64Graceful shutdown: how long to wait for the PING that follows the first GOAWAY.
budgets: BudgetsFrame budgets per sliding window.
enable_connect_protocol: boolServer: announce SETTINGS_ENABLE_CONNECT_PROTOCOL and accept extended CONNECT requests
with a :protocol pseudo-header (RFC 8441, WebSocket over HTTP/2). Default off; needs
the connect-protocol cargo feature (on by default).
keepalive_interval_ms: Option<u64>PING keepalive: after this many milliseconds without any frame from the peer, send a
PING. None (the default) sends none. Needs the keepalive cargo feature (on by
default).
keepalive_timeout_ms: u64PING keepalive: close the connection (GOAWAY NO_ERROR, then Event::Closed) when
nothing arrives from the peer within this many milliseconds of a keepalive PING.
Default 20 s.