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.