relay_core_runtime/services/
flow_event.rs1use 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}