code wiki / (root) / nx_quic_transport_params.nx

nx_quic_transport_params.nx

buildroot/runtime/nx_quic_transport_params.nx

3081 B67 linesdepth 3pulls 3 transitivereach 1 importersview sourcekind tooltopic quic
docsdependenciesstructsconstsfunctions

about

nx_quic_transport_params.nx -- RUNG 6a of the sovereign QUIC transport: transport parameters (RFC 9000 sec 18) carried in the TLS quic_transport_parameters extension (0x39). Each is a varint (id, length, value) tuple. THE one that matters for us is max_datagram_frame_size (id 0x20, RFC 9221 sec 3): unless BOTH peers advertise it > 0, DATAGRAM frames are forbidden -- i.e. no unreliable FEC'd video. R6a makes that negotiable. No float. license_tier: ORIGINAL

dependencies 1 imports · 1 importers

nx_quic_wire.nx nx_quic_transport_params.nx nx_quic_transport_params_test.nx

imports: nx_quic_wire.nx

imported by: nx_quic_transport_params_test.nx

structs

none

consts

9const QTP_MAX_IDLE_TIMEOUT: i64 = 0x01
10const QTP_INITIAL_MAX_DATA: i64 = 0x04
11const QTP_INITIAL_SRC_CONN_ID: i64 = 0x0f
12const QTP_MAX_DATAGRAM_FRAME_SIZE: i64 = 0x20 // RFC 9221 -- enables DATAGRAM frames

functions

15func quic_tp_put_int(out: *u8, id: i64, val: i64) -> i64
called by 1: main calls 1: quic_varint_encode
26func quic_tp_put_bytes(out: *u8, id: i64, val: *u8, val_len: i64) -> i64
called by 1: main calls 1: quic_varint_encode
36func quic_tp_parse_next(buf: *u8, n: i64, off: i64, info: *i64) -> i64
48func quic_tp_read_int(buf: *u8, voff: i64, vlen: i64) -> i64
55func quic_tp_datagram_size(buf: *u8, n: i64) -> i64
67func main() -> i64 { return 0 }