Skip to main content

Module conn

Module conn 

Source
Expand description

Per-connection driving: accept request streams, authenticate them, dispatch them.

A connection owns the things every tunnel on it shares: the credentials and destination policy each request is checked against, the QUIC connection its UDP sessions send datagrams on, and the tunnel quota they all draw on. All of it lives in crate::tunnel::Context, built once and held in an Arc that every request on the connection shares rather than copies. Inbound datagrams are not among them: they are routed by the HTTP/3 connection, to the request stream each one names (D79).

The accept loop is also where graceful shutdown is observed: see handle for the GOAWAY and drain sequence.

Functionsยง

handle
Drives one QUIC connection until the peer stops sending requests.