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§
- Candidate
Pair - 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.
- Checklist
Set - 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. - Valid
Pair - A pair in a valid list (§7.2.5.3.2).
Enums§
- Checklist
State - A checklist’s state (§6.1.2.1).
- Pair
State - 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.