Skip to main content

Module checklist

Module checklist 

Source
Expand description

Checklists: pairing, ordering, pruning and pair state (RFC 8445 §6; spec §6).

One checklist per data stream, and the ordered list of them is the “checklist set” §6.1.2.6 computes initial states over. sipx builds one checklist per Agent because a media session is one data stream — but the set is a set, not a special case of one, because §6.1.2.6’s rule is about the set: a foundation already unfrozen in one checklist is not unfrozen again in another, which is a sentence that has no meaning with a single checklist and is the difference between checking a path once and checking it three times.

Structs§

CandidatePair
One entry in a checklist (§6.1.2.2, figure 5).
Checklist
One data stream’s checklist, its triggered-check queue and its valid list.
ChecklistSet
The ordered set of checklists, one per data stream (§6.1.2, §6.1.2.6).
PairId
A pair’s identity, stable across sorting, pruning and removal.
PairIds
Allocates PairIds that are unique for the lifetime of an agent.
ValidPair
A pair in a valid list (§7.2.5.3.2).

Enums§

ChecklistState
A checklist’s state (§6.1.2.1).
PairState
A pair’s state (§6.1.2.6).
Role
Which end decides (§6.1.1).

Functions§

form_pairs
§6.1.2.2: pair each local candidate with each remote candidate of the same component and the same address family, then §6.1.2.4’s pruning.
is_link_local
Whether an address is an IPv6 link-local unicast address (fe80::/10).
ordered_pair_priority
§6.1.2.3’s pair priority with the operands put in the roles the formula names.