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.
Properties
Section titled “Properties”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?
Section titled “qlogDir?”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?
Section titled “serverCertificateHashes?”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.