Expand description
What a node knows about the repeaters around it, and how it answers a Peer Repeaters Request.
Two sources feed one answer, because neither is enough on its own:
- Identities. A repeater that advertises tells its neighbors its name, its position, and the regions it forwards for. None of that can be recovered from a hint, and an identity that arrived over several hops says nothing about the link to the node that sent it.
- Transmitter observations (
umsh_mac::TransmitterObservations). Every frame off the air proves who was on it and how well they were heard, including hops that never send this node anything of their own.
A [RouterHint] is the first two bytes of a public key and a [NodeHint]
the first three, so the observation’s key is a prefix of the identity’s.
That is what lets the two merge: an identity claims the observation whose
hint it starts with, and an observation nothing claims becomes an entry
naming a hop by its router hint and reporting only what was heard.
Structs§
- Merged
Peer Repeater - One row of a merged listing: everything known about one peer repeater, from either source or both.
- Peer
Repeater Record - What one repeater’s identity told this node about it.
- Peer
Repeater Table - The repeaters whose identities this node has seen.
Constants§
- MAX_
PEER_ REGIONS - Region codes kept per peer, matching the identity option’s own cap.
- MAX_
PEER_ REPEATERS - How many identity-bearing repeaters the table remembers.
Functions§
- merge
- Merge the identity table with the MAC’s transmitter observations.