Skip to main content

relay_core_runtime/services/
flow_event.rs

1use tokio::sync::broadcast;
2use relay_core_api::flow::FlowUpdate;
3use crate::CoreState;
4
5pub trait FlowEventHub: Send + Sync {
6    fn subscribe_flow_updates(&self) -> broadcast::Receiver<FlowUpdate>;
7    fn redact_flow_update_for_output(&self, update: FlowUpdate) -> FlowUpdate;
8    fn record_flow_events_lagged(&self, skipped: u64);
9}
10
11impl FlowEventHub for CoreState {
12    fn subscribe_flow_updates(&self) -> broadcast::Receiver<FlowUpdate> {
13        CoreState::subscribe_flow_updates(self)
14    }
15
16    fn redact_flow_update_for_output(&self, update: FlowUpdate) -> FlowUpdate {
17        CoreState::redact_flow_update_for_output(self, update)
18    }
19
20    fn record_flow_events_lagged(&self, skipped: u64) {
21        CoreState::record_flow_events_lagged(self, skipped)
22    }
23}