Expand description
A QUIC connection kept warm across many requests on one ALPN
([connection::WarmConnection]): one dial amortized over every request, one
bi-stream per request (no wire change), closed once on the handle’s own
Drop; and the map of one such connection per node on one ALPN
(connection::Connections), shared by a CLI command or by a node’s
outbound pull legs and DHT calls.
Dialling connections, and connections kept warm across many requests.
dial is the one dial every requester path uses, one-shot or warm. It runs
the dial on a caller-chosen runtime when the caller asks for one, so the
connection’s QUIC driver lives there.
[WarmConnection] dials once and stays open, so a caller fetching many hashes
from one provider pays the dial + NAT-traversal cost a single time and opens a
fresh bi-stream per hash instead. The wire is unchanged — one stream still
carries exactly one hash (open_progressive_pull_on opens the
bi-stream); only the client-side teardown differs, because a per-hash pull
leaves the connection open for the next one rather than closing it.
Connections keeps one [WarmConnection] per node on one ALPN, so every
caller sharing the map (every lane and entry of a CLI command, or every
outbound pull leg or DHT call of a node) dials each node once.
Structs§
- Connections
- One live connection per node on one ALPN, shared by every pull of one
command (
cdn/client/v1, fromnew) or by every outbound call of one node (with_options).