Skip to main content

Crate proto

Crate proto 

Available on crate feature quic only.
Expand description

QUIC wire types, codec, version vocabulary and profiles for Rama.

This crate is the deterministic protocol layer beneath rama-quic: the packet and frame codec, the version wire tables and negotiation vocabulary, and the typed, invariant-checked profiles describing a client’s observable wire image. It has no connection state machine and no async runtime, so tools that only need to read or describe QUIC on the wire — user-agent emulation, fingerprinting, packet analysis — can depend on it without pulling in the engine.

§Rama

Crate used by the end-user rama crate and rama crate authors alike.

Learn more about rama:

Modules§

capturestd
Reading a first flight back from the wire: what any observer sees, and what one that can open the Initial packets sees.
coding
Coding related traits.
constant_time
crypto
Packet-protection key interfaces (RFC 9001 §5).
frame
packet
profile
Typed, invariant-preserving QUIC wire profiles.
range_set
transport_parameters
QUIC connection transport parameters
version
QUIC protocol versions and the wire constants that differ between them.

Structs§

ConnectionId
Protocol-level identifier for a connection.
InvalidCid
connection ID was not recognized by the connection ID generator
ResetToken
Stateless reset token used to securely communicate that an endpoint has lost state for a connection (RFC 9000 §10.3).
StreamId
Identifier for a stream within a particular connection.
TransportError
Transport-level errors occur when a peer violates the protocol specification
TransportErrorCode
Transport-level error code
VarInt
An integer less than 2^62
VarIntBoundsExceeded
Error returned when constructing a VarInt from a value >= 2^62. value too large for varint encoding
VarIntDecoder
Incremental, fragmentation-safe decoder for a single QUIC variable-length integer.
Version
A QUIC version number as it appears in long headers (RFC 8999 §5).

Enums§

Dir
Whether a stream communicates data in both directions or only from the initiator.
EcnCodepoint
Explicit congestion notification codepoint.
Side
Whether an endpoint was the initiator of a connection.

Constants§

MAX_CID_SIZE
The longest connection ID QUIC version 1 carries, in bytes (RFC 9000 §17.2).
MAX_STREAM_COUNT
Maximum number of streams that can be uniquely identified by a stream ID (RFC 9000 §2.1).
RESET_TOKEN_SIZE
The longest stateless reset token, in bytes (RFC 9000 §10.3).