22namespace transport_param_id
46namespace transport_param_error
166 [[nodiscard]]
auto encode() const -> std::vector<uint8_t>;
173 [[nodiscard]] static auto
decode(std::span<const uint8_t> data)
QUIC Connection ID (RFC 9000 Section 5.1)
connection_id()=default
Default constructor creates an empty connection ID.
QUIC connection identifier type.
constexpr int decode_error
constexpr int invalid_parameter
constexpr int missing_required_parameter
constexpr int invalid_value
constexpr int duplicate_parameter
constexpr uint64_t active_connection_id_limit
constexpr uint64_t initial_max_data
constexpr uint64_t ack_delay_exponent
constexpr uint64_t initial_max_streams_uni
constexpr uint64_t initial_source_connection_id
constexpr uint64_t initial_max_streams_bidi
constexpr uint64_t initial_max_stream_data_bidi_local
constexpr uint64_t max_udp_payload_size
constexpr uint64_t disable_active_migration
constexpr uint64_t initial_max_stream_data_bidi_remote
constexpr uint64_t retry_source_connection_id
constexpr uint64_t stateless_reset_token
constexpr uint64_t initial_max_stream_data_uni
constexpr uint64_t preferred_address
constexpr uint64_t max_ack_delay
constexpr uint64_t max_idle_timeout
constexpr uint64_t original_destination_connection_id
auto make_default_client_params() -> transport_parameters
Create default client transport parameters.
auto make_default_server_params() -> transport_parameters
Create default server transport parameters.
Network-specific error and result type definitions.
QUIC preferred address transport parameter (RFC 9000 Section 18.2)
std::array< uint8_t, 4 > ipv4_address
std::array< uint8_t, 16 > ipv6_address
auto operator==(const preferred_address_info &other) const -> bool
Equality comparison.
std::array< uint8_t, 16 > stateless_reset_token
QUIC transport parameters (RFC 9000 Section 18)
std::optional< connection_id > retry_source_connection_id
Retry Source Connection ID (server only, after Retry)
uint64_t max_idle_timeout
Maximum idle timeout in milliseconds (0 = disabled)
uint64_t initial_max_data
Initial maximum data for connection (default: 0)
uint64_t ack_delay_exponent
ACK delay exponent (default: 3, meaning 8 microseconds)
uint64_t initial_max_streams_uni
Initial maximum unidirectional streams.
std::optional< std::array< uint8_t, 16 > > stateless_reset_token
Stateless reset token (server only, 16 bytes)
void apply_defaults()
Apply default values for unset parameters.
auto encode() const -> std::vector< uint8_t >
Encode transport parameters to binary format.
bool disable_active_migration
Whether active connection migration is disabled.
auto validate(bool is_server) const -> VoidResult
Validate transport parameters.
uint64_t initial_max_streams_bidi
Initial maximum bidirectional streams.
uint64_t max_udp_payload_size
Maximum UDP payload size (default: 65527)
uint64_t initial_max_stream_data_bidi_remote
Initial maximum data for remotely-initiated bidirectional streams.
std::optional< preferred_address_info > preferred_address
Preferred address for migration (server only)
static auto decode(std::span< const uint8_t > data) -> Result< transport_parameters >
Decode transport parameters from binary format.
std::optional< connection_id > initial_source_connection_id
Initial Source Connection ID.
uint64_t max_ack_delay
Maximum ACK delay in milliseconds (default: 25)
uint64_t active_connection_id_limit
Maximum number of connection IDs from the peer.
std::optional< connection_id > original_destination_connection_id
Original Destination Connection ID (server only)
uint64_t initial_max_stream_data_bidi_local
Initial maximum data for locally-initiated bidirectional streams.
uint64_t initial_max_stream_data_uni
Initial maximum data for unidirectional streams.