poll_any_monitor

Function poll_any_monitor 

Source
async fn poll_any_monitor(
    callsigns: &[String],
    monitors: &HashMap<String, XlxMonitor>,
) -> (String, Option<MonitorMessage>)
Expand description

Polls all monitors via round-robin and returns the first message received along with the reflector callsign that produced it.

Each monitor is given a 500ms window to produce a message. If no monitor has data in the quick-poll pass, falls back to a full blocking recv on the first monitor (which uses the standard 30-second timeout).

With up to 100 monitors, the round-robin worst case is 50 seconds, but in practice monitors with pending data return immediately.