Expand description
Seyd transport: QUIC on quinn, serving WebTransport (ALPN h3) to browser
pilots. See docs/adr/0002-quinn.md.
What this crate owns: sockets it is handed (never binds its own — STUN and
hole-punch probes go out of the same socket QUIC uses), certificates pinned
by serverCertificateHashes, the accept loop, and a Session per
WebTransport session with datagrams, the pilot-opened control stream, and
path statistics. It knows nothing about chunks, FEC or channels.
A Session is normally a WebTransport session over QUIC. When no direct
path connected, the same type can be backed by the cloud relay (relay,
ADR 0010): the engine is unchanged, and Session::kind says which it is.
Datagram admission is the caller’s job through Session::send_buffer_space
and Session::send_datagram. quinn discards older queued datagrams when
its buffer is full, which is exactly the torn-frame outcome Seyd forbids, so
send_datagram refuses with SendError::Blocked instead of letting that
happen.
Re-exports§
pub use cert::Cert;pub use session as control;pub use session::ControlReader;pub use session::ControlWriter;pub use session::PathStats;pub use session::SendError;pub use session::Session;pub use session::SessionKind;
Modules§
- cert
- Self-signed certificates for
serverCertificateHashes. - relay
- The cloud relay backend of
Session(ADR 0010). - session
Structs§
- Endpoint
- One quinn endpoint per pre-bound socket, all feeding one session queue.
- Prober
- Transport
Config