Module peer_repeaters

Module peer_repeaters 

Source
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§

MergedPeerRepeater
One row of a merged listing: everything known about one peer repeater, from either source or both.
PeerRepeaterRecord
What one repeater’s identity told this node about it.
PeerRepeaterTable
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.