Skip to content

NativeQuicTransportOptions

Defined in: relay-quic/src/index.ts:27

What nativeQuicTransport’s dials trust, how many streams they let the relay open, and where they write qlog. With neither trust option, a dial trusts the platform’s roots.

anticipatedConcurrentIncomingUnidirectionalStreams?

Section titled “anticipatedConcurrentIncomingUnidirectionalStreams?”
anticipatedConcurrentIncomingUnidirectionalStreams?: number;

Defined in: relay-quic/src/index.ts:49

How many unidirectional streams the relay may have open to this connection at once: the MAX_STREAMS credit the connection grants (RFC 9000 §4.6), an integer from 1 to 65535; 1000 when absent.

The relay delivers each group of a track on a stream of its own, so a voice track at 50 frames a second takes 50 streams a second, and the credit for each closed stream returns over this end’s uplink. 1000 is a 20 s stall of that uplink on one such track; quinn’s own default, 100, starved a subscriber whose upload queued its uplink for 2 s. quinn sets aside an entry per allowed stream up front, which is the cost of a higher value. Unlike WebTransport’s option of the same name, which is a hint the browser may round up, this is the exact limit.


ca?:
| string
| Uint8Array<ArrayBufferLike>
| readonly (string | Uint8Array<ArrayBufferLike>)[];

Defined in: relay-quic/src/index.ts:32

Extra trust anchors, PEM encoded, added to the platform’s roots: one string or buffer may hold several certificates.


qlogDir?: string;

Defined in: relay-quic/src/index.ts:58

A directory to write a qlog trace of every connection into, one relay-quic-<ms>-<pid>-<n>.sqlog file (JSON text sequences, qlog 0.3) per connection attempt, created if it does not exist. Absent, the RELAY_QUIC_QLOG_DIR environment variable is read when the factory is made; an empty string turns qlog off. Off by default. A trace holds each packet’s number and type, the size of each packet sent, the packets lost, and the RTT and congestion window as they change; quinn 0.11 logs no frames, so it holds no stream data and no token. A file that cannot be created is skipped, and the dial goes on.


serverCertificateHashes?: readonly CertificateHash[];

Defined in: relay-quic/src/index.ts:38

Accept exactly the end-entity certificates with these hashes instead of validating a chain, as W3C WebTransport’s serverCertificateHashes does. The TLS handshake signature is still verified; the 14-day validity limit browsers apply is not.