Module roadrunner_quic_packet

Data Types

long_opts()

long_opts() = #{token => binary(), pn => non_neg_integer(), payload => iodata()}

long_type()

long_type() = initial | handshake | zero_rtt

packet()

packet() = #{type := initial | handshake | zero_rtt | one_rtt, version => non_neg_integer(), dcid := binary(), scid => binary(), token => binary(), pn := non_neg_integer(), payload := binary()}

Function Index

coalesced_split/1
dcid/2
decode/2
decode_pn/2
encode_long/5
encode_pn/2
encode_short/4
encode_short/5
encode_version_negotiation/3
key_phase/1
long_header_info/1
pn_length/1
pn_offset/2

Function Details

coalesced_split/1

coalesced_split(Bin::binary()) -> {ok, binary(), binary()} | done | {error, term()}

dcid/2

dcid(X1::binary(), DCIDLen::non_neg_integer()) -> {ok, binary()} | {error, term()}

decode/2

decode(Bin::binary(), DCIDLen::non_neg_integer()) -> {ok, packet(), binary()} | {error, term()}

decode_pn/2

decode_pn(X1::binary(), X2::1..4) -> {non_neg_integer(), binary()}

encode_long/5

encode_long(Type::long_type(), Version::non_neg_integer(), DCID::binary(), SCID::binary(), Opts::long_opts()) -> iolist()

encode_pn/2

encode_pn(PN::non_neg_integer(), X2::1..4) -> binary()

encode_short/4

encode_short(DCID::binary(), PN::non_neg_integer(), Payload::iodata(), SpinBit::boolean()) -> iolist()

encode_short/5

encode_short(DCID::binary(), PN::non_neg_integer(), Payload::iodata(), SpinBit::boolean(), KeyPhase::0 | 1) -> iolist()

encode_version_negotiation/3

encode_version_negotiation(DCID::binary(), SCID::binary(), Versions::[non_neg_integer()]) -> iolist()

key_phase/1

key_phase(FirstByte::byte()) -> 0 | 1

long_header_info/1

long_header_info(X1::binary()) -> {ok, #{version := non_neg_integer(), dcid := binary(), scid := binary()}} | {error, not_long_header | truncated}

pn_length/1

pn_length(PN::non_neg_integer()) -> 1..4

pn_offset/2

pn_offset(Bin::binary(), DCIDLen::non_neg_integer()) -> {ok, non_neg_integer()} | {error, term()}


Generated by EDoc