Skip to main content

Crate seyd_transport

Crate seyd_transport 

Source
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
TransportConfig

Enums§

Congestion