Events

All event types emitted by QuicConnection and H3Connection.

1 min read 232 words

QUIC Events

All events are frozen dataclasses. They are the primary output ofQuicConnection.datagram_received() and QuicConnection.handle_timer().

HandshakeComplete

Emitted when the TLS 1.3 handshake finishes and 1-RTT keys are available.

@dataclass(frozen=True)
class HandshakeComplete(QuicEvent): ...

StreamDataReceived

Emitted when ordered stream data is available.

Field Type Description
stream_id int QUIC stream identifier
data bytes Reassembled payload
end_stream bool Trueif FIN bit set

StreamReset

Emitted when the peer resets a stream viaRESET_STREAMframe.

Field Type Description
stream_id int QUIC stream identifier
error_code int Application error code

ConnectionClosed

Emitted when the connection closes (peerCONNECTION_CLOSEor idle timeout).

DatagramReceived

Emitted for QUIC DATAGRAM frames (unreliable delivery).

Field Type Description
data bytes Datagram payload

HTTP/3 Events

H3HeadersReceived

Emitted when HTTP/3 headers are decoded from a request or response.

Field Type Description
headers list[Header] Decoded QPACK headers
stream_id int H3 stream identifier

H3DataReceived

Emitted when HTTP/3 body data arrives.

Field Type Description
data bytes Body payload
stream_id int H3 stream identifier