masque_datagram (masque v0.7.0)

View Source

RFC 9298 section 5 - inner framing for HTTP Datagrams.

On top of the HTTP/3 datagram delivery (RFC 9297, already handled by quic_h3), each MASQUE payload is preceded by a Context ID varint. Context 0 carries raw UDP payloads; non-zero contexts are reserved for future extensions (compression, ICMP, QUIC-aware proxying).

Summary

Functions

Decode an HTTP Datagram payload.

Build the HTTP Datagram payload for Payload carried under context ContextId. Returns an iolist.

Types

context_id/0

-type context_id() :: non_neg_integer().

Functions

decode(Bin)

-spec decode(binary()) -> {ok, {context_id(), binary()}} | {error, malformed_varint}.

Decode an HTTP Datagram payload.

encode(ContextId, Payload)

-spec encode(context_id(), iodata()) -> iodata().

Build the HTTP Datagram payload for Payload carried under context ContextId. Returns an iolist.