API Reference nquic v#1.0.0
View SourceModules
QUIC transport library for Erlang/OTP, implementing RFC 9000 (transport), RFC 9001 (TLS binding), RFC 9002 (loss detection and congestion control), and RFC 9221 (unreliable datagrams).
Congestion control behaviour and dispatch per RFC 9002 Section 7.
CUBIC congestion control per RFC 8312.
NewReno congestion control per RFC 9002 Section 7.3.
QUIC Connection Management API.
Connection close and draining state transitions (RFC 9000 §10.2).
Protocol-event delivery for the handshake state machine.
Init-time option parsing and state seeding for the QUIC connection state machine.
Per-connection child launcher for the partition supervisor.
Per-connection bridge between #conn_state{} and nquic_metrics.
Connection-migration glue for the handshake state machine.
Sync-send backpressure for handshake-phase stream writes in
nquic_conn_statem.
QUIC connection handshake state machine.
Owner-waiter stream delivery for the handshake state machine.
gen_statem timer adapters for the QUIC connection state machine.
QUIC payload protection using AEAD (RFC 9001 Section 5).
Striped connection dispatch table.
Canonical error taxonomy for nquic.
Connection and stream flow control per RFC 9000 Section 4.
QUIC frame encoding and decoding per RFC 9000 Section 12.4.
QUIC frame handling helpers.
QUIC handshake management.
QUIC header protection per RFC 9001 Section 5.4.
QUIC key derivation per RFC 9001 Section 5.
Library-mode API for nquic.
Public listener API shim.
Listener manager gen_server.
Top-level listener supervisor.
Loss detection per RFC 9002.
Per-listener observability primitives.
Server-side NEW_TOKEN issuance and validation per RFC 9000 §8.1.3.
QUIC packet parsing and encoding per RFC 9000 Section 17.
Packet construction, encryption, and sending for QUIC connections.
Packet number encoding and decoding per RFC 9000 Appendix A.
Container supervisor for the per-scheduler nquic_server_sup partitions.
Path validation for QUIC connection migration (RFC 9000 Section 9).
Datagram Packetization Layer PMTU Discovery (DPLPMTUD) per RFC 8899.
Sent-packet buffer for nquic_loss.
Pure functional QUIC protocol state machine.
ACK generation and received-packet-number bookkeeping (RFC 9000 §13.2, §19.3).
Connection ID management for the QUIC protocol state.
TLS 1.3 handshake driver for the QUIC protocol state.
QUIC key update (RFC 9001 Section 6).
Connection migration and PMTUD for the QUIC protocol state.
Inbound side of the QUIC protocol state.
Outbound side of the QUIC protocol state.
Per-encryption-level pending-frame queues and their flush drains.
Inbound STREAM frame processing and RESET_STREAM / STOP_SENDING handling.
Stream terminal-state cleanup and stream-limit bookkeeping.
Send-side stream drain engine and blocked/pending stream tracking.
Timer-action orchestration for the QUIC protocol state.
0-RTT (early data) packet-protection key installation.
qlog tracing for nquic connections (draft-ietf-quic-qlog-main-schema).
File backend for nquic_qlog. Writes draft-ietf-quic-qlog NDJSON
to a per-connection file.
QUIC packet receiver process.
Receiver supervisor.
Optimized UDP receive handling for QUIC.
Server-side Retry packet support per RFC 9000 Section 8.1.2.
RTT estimation per RFC 9002 Section 5.
Per-partition connection supervisor (simple_one_for_one).
Per-instance session ticket cache for QUIC 0-RTT resumption.
Client-side NewSessionTicket processing (RFC 8446 §4.6.1, RFC 9000 §7.4.1).
UDP socket abstraction using OTP socket module.
Stateless reset token generation and detection per RFC 9000 Section 10.3.
Stream ID allocation and validation per RFC 9000 Section 2.
Stream state machine per RFC 9000 Section 3.
Shared TLS 1.3 codec for QUIC per RFC 9001.
Client-side TLS 1.3 handshake flow for QUIC per RFC 9001.
Server-side TLS 1.3 handshake flow for QUIC per RFC 9001.
Per-instance NEW_TOKEN cache for QUIC client reconnection (RFC 9000 §8.1.3).
QUIC transport parameter encoding and decoding per RFC 9000 Section 18.
Variable-length integer encoding per RFC 9000 Section 16.
Behaviour for 0-RTT anti-replay protection (RFC 9001 Section 9.2).