long_opts() = #{token => binary(), pn => non_neg_integer(), payload => iodata()}
long_type() = initial | handshake | zero_rtt
packet() = #{type := initial | handshake | zero_rtt | one_rtt, version => non_neg_integer(), dcid := binary(), scid => binary(), token => binary(), pn := non_neg_integer(), payload := binary()}
| 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 |
coalesced_split(Bin::binary()) -> {ok, binary(), binary()} | done | {error, term()}
dcid(X1::binary(), DCIDLen::non_neg_integer()) -> {ok, binary()} | {error, term()}
decode(Bin::binary(), DCIDLen::non_neg_integer()) -> {ok, packet(), binary()} | {error, term()}
decode_pn(X1::binary(), X2::1..4) -> {non_neg_integer(), binary()}
encode_long(Type::long_type(), Version::non_neg_integer(), DCID::binary(), SCID::binary(), Opts::long_opts()) -> iolist()
encode_pn(PN::non_neg_integer(), X2::1..4) -> binary()
encode_short(DCID::binary(), PN::non_neg_integer(), Payload::iodata(), SpinBit::boolean()) -> iolist()
encode_short(DCID::binary(), PN::non_neg_integer(), Payload::iodata(), SpinBit::boolean(), KeyPhase::0 | 1) -> iolist()
encode_version_negotiation(DCID::binary(), SCID::binary(), Versions::[non_neg_integer()]) -> iolist()
key_phase(FirstByte::byte()) -> 0 | 1
long_header_info(X1::binary()) -> {ok, #{version := non_neg_integer(), dcid := binary(), scid := binary()}} | {error, not_long_header | truncated}
pn_length(PN::non_neg_integer()) -> 1..4
pn_offset(Bin::binary(), DCIDLen::non_neg_integer()) -> {ok, non_neg_integer()} | {error, term()}
Generated by EDoc