Function watch_protocol_statuses

Source
async fn watch_protocol_statuses<S, F, Fut>(
    netdir_provider: Arc<dyn DirProvider>,
    events: S,
    last_evaluated_proto_status: Option<Arc<ProtoStatuses>>,
    software_publication_time: SystemTime,
    software_protocols: Protocols,
    override_status: Arc<MutCfg<SoftwareStatusOverrideConfig>>,
    on_fatal: F,
)
where S: Stream<Item = DirEvent> + Send + Unpin, F: FnOnce(ErrorDetail) -> Fut + Send, Fut: Future<Output = ()> + Send,
Expand description

Run indefinitely, checking for any protocol-recommendation issues.

In addition to the arguments of enforce_protocol_recommendations, this function expects events (a stream of DirEvent), and last_evaluated_proto_status (the last protocol status that we passed to evaluate_protocol_status).

On a fatal error, invoke on_fatal and return.