Expand description
Tier 2: XLX live monitoring via UDP JSON protocol.
Maintains concurrent UDP connections to active XLX reflectors on port 10001, receiving real-time push notifications about connected nodes, heard stations, and on-air/off-air events.
The monitor pool is activity-driven:
- Reflectors detected as active by Tier 1 are connected (up to the configured maximum).
- Reflectors idle beyond the configured threshold are disconnected to free slots.
- Newly active reflectors are connected as Tier 1 detects them.
Events are written to the activity_log and connected_nodes PostgreSQL
tables, and on-air events can trigger Tier 3 auto-promotion for voice
capture.
Modulesยง
- monitor ๐
- Single-reflector XLX UDP JSON monitor client.
- protocol ๐
- XLX UDP JSON monitor protocol message types.
Constantsยง
- REFRESH_
INTERVAL ๐ - How often to re-query the database for newly active reflectors.
Functionsยง
- connect_
eligible_ ๐monitors - Queries the database for tier2-eligible reflectors and connects monitors for any that are not already in the pool.
- handle_
message ๐ - Dispatches a parsed monitor message to the appropriate handler.
- handle_
nodes_ ๐update - Processes a nodes update: clears stale entries and upserts the fresh snapshot.
- handle_
stations_ ๐update - Processes a stations update: inserts each station as an activity observation.
- poll_
any_ ๐monitor - Polls all monitors via round-robin and returns the first message received along with the reflector callsign that produced it.
- run ๐
- Runs the Tier 2 XLX monitoring loop.