Module tier1

Module tier1 

Source
Expand description

Tier 1: discovery and sweep.

Lightweight polling of public data sources to build a continuously updated picture of which D-STAR reflectors exist and which are currently active.

Three data sources are polled on independent intervals:

  • Pi-Star hosts (DStar_Hosts.json) — canonical list of reflector addresses, polled daily.
  • XLX API (xlxapi.rlx.lu) — XML feed of XLX reflector status and connected nodes, polled every 10 minutes.
  • ircDDB last-heard (status.ircddb.net) — HTML page of recent D-STAR activity across the network, scraped every 60 seconds.

Discovered reflectors and activity observations are written to the reflectors and activity_log PostgreSQL tables, which drive Tier 2 monitoring decisions.

§Error handling

Individual fetch failures are logged at warn level and retried on the next interval tick. A single source going down does not affect the other two — tokio::select! fires whichever timer expires next, regardless of prior failures.

Modules§

error 🔒
Fetch error types for Tier 1 data source fetchers.
ircddb 🔒
ircDDB last-heard HTML scraper.
pistar 🔒
Pi-Star JSON host file fetcher.
xlx_api 🔒
XLX API XML reflector list fetcher.

Functions§

run 🔒
Runs the Tier 1 discovery sweep loop.