Expand description
QUIC implementation based on quinn-proto.
Modules§
- congestion
- Logic for controlling the rate at which data is sent
- crypto
- Traits and implementations for the QUIC cryptography protocol
- h3
h3 - HTTP/3 support via
h3. - n0_
nat_ traversal - n0’s (https://n0.computer) NAT Traversal protocol implementation.
Structs§
- AckFrequency
Config - Parameters for controlling the peer’s acknowledgement frequency
- Address
Discovery - Stream produced by
Path::observed_external_addr. - Application
Close - Reason given by an application for closing the connection
- Chunk
- A chunk of data from the receive stream
- Client
Builder rustls - Helper to construct an
Endpointfor use with outgoing connections only. - Client
Config - Configuration for outgoing connections
- Closed
Path - Error indicating that a path has not been opened or has already been abandoned
- Closed
Stream - Error indicating that a stream has not been opened or has already been finished or reset
- Connecting
- In-progress connection attempt future
- Connection
- A QUIC connection.
- Connection
Close - Reason given by the transport for closing the connection
- Connection
Id - Protocol-level identifier for a connection.
- Connection
Stats - Connection statistics.
- Endpoint
- A QUIC endpoint.
- Endpoint
Config - Global configuration for the endpoint, affecting all connections
- Endpoint
Stats - Statistics on Endpoint activity
- Frame
Stats - Number of frames transmitted or received of each frame type.
- Idle
Timeout - Maximum duration of inactivity to accept before timing out the connection
- Incoming
- An incoming connection for which the server has not yet begun its part of the handshake.
- Incoming
Future - Basic adapter to let
Incomingbeawait-ed like aConnecting. - MtuDiscovery
Config - Parameters governing MTU discovery.
- Multipath
NotNegotiated - Error when the multipath extension was not negotiated, but attempted to be used.
- None
Token Log - Null implementation of
TokenLog, which never accepts tokens - None
Token Store - Null implementation of
TokenStore, which does not store any tokens - Open
Path - Future produced by
crate::Connection::open_path. - Path
- An open path in a multipath-enabled connection.
- PathId
- Id representing different paths when using multipath extension
- Path
Stats - Statistics related to a transmission path.
- Qlog
Config qlog - Configuration for qlog trace logging.
- Recv
Stream - A stream that can only be used to receive data
- Send
Stream - A stream that can only be used to send data.
- Server
Builder rustls - Helper to construct an
Endpointfor use with incoming connections. - Server
Config - Parameters governing incoming connections
- StdSystem
Time - Default implementation of
TimeSource - Stream
Id - Identifier for a stream within a particular connection
- Token
Memory Cache TokenStoreimplementation that stores up toNtokens per server name for up to a limited number of server names, in-memory- Token
Reuse Error - Error for when a validation token may have been reused
- Transmit
- An outgoing packet
- Transport
Config - Parameters governing the core QUIC state machine
- Transport
Error Code - Transport-level error code
- UdpStats
- Statistics about UDP datagrams transmitted or received on a connection.
- Validation
Token Config - Configuration for sending and handling validation tokens in incoming connections
- VarInt
- An integer less than 2^62
- VarInt
Bounds Exceeded - Error returned when constructing a
VarIntfrom a value >= 2^62 - Written
- Indicates how many bytes and chunks had been transferred in a write operation
Enums§
- Close
Path Error - Errors triggered when abandoning a path
- Config
Error - Errors in the configuration of an endpoint
- Connect
Error - Errors in the parameters being used to create a new connection
- Connection
Error - Reasons why a connection might be lost
- Dir
- Whether a stream communicates data in both directions or only from the initiator
- EcnCodepoint
- Explicit congestion notification codepoint
- Frame
Type - Open
Stream Error - Errors that can arise when trying to open a stream
- Path
Abandon Reason - Reason for why a path was abandoned.
- Path
Error - Errors that might trigger a path being closed
- Path
Event - Application events about paths
- Path
Status - The QUIC-MULTIPATH path status
- Read
Error - Errors that arise from reading from a stream.
- Read
Exact Error - Errors that arise from reading from a stream.
- Reset
Error - Errors that arise while waiting for a stream to be reset
- Send
Datagram Error - Errors that can arise when sending a datagram
- SetPath
Status Error - Error from setting path status
- Side
- Whether an endpoint was the initiator of a connection
- Stopped
Error - Errors that arise while monitoring for a send stream stop from the peer
- Write
Error - Errors that arise from writing to a stream
Traits§
- Connection
IdGenerator - Generates connection IDs for incoming connections
- Time
Source - Object to get current
SystemTime - Token
Log - Responsible for limiting clients’ ability to reuse validation tokens
- Token
Store - Responsible for storing validation tokens received from servers and retrieving them for use in subsequent connections