nquic_packet_number (nquic v1.0.0)

View Source

Packet number encoding and decoding per RFC 9000 Appendix A.

Packet numbers are truncated to 1-4 bytes based on the distance from the largest acknowledged packet number. The receiver reconstructs the full packet number using the closest value to the largest acknowledged.

Summary

Functions

Reconstruct a full packet number from a truncated value.

Truncate a full packet number for wire encoding based on largest acknowledged.

Types

t()

-type t() :: non_neg_integer().

Functions

decode(LargestAcked, TruncatedPN, PnLen)

-spec decode(LargestAcked :: non_neg_integer(), TruncatedPN :: non_neg_integer(), PnLen :: 1..4) ->
                FullPN :: non_neg_integer().

Reconstruct a full packet number from a truncated value.

encode(FullPN, LargestAcked)

-spec encode(FullPN :: non_neg_integer(), LargestAcked :: non_neg_integer()) ->
                {PnLen :: 1..4, TruncatedPN :: non_neg_integer()}.

Truncate a full packet number for wire encoding based on largest acknowledged.