o_sfu_core/engine/
observability.rs1use metrics::{SourceSelectionKind, TransportHealthState};
2use o_sfu_telemetry::diagnostics::DiagnosticsTransportHealth;
3pub use o_sfu_telemetry::metrics;
4
5use crate::engine::{media_transport::TransportSessionHealth, source_model::SourceSelector};
6
7pub(crate) const fn diagnostics_transport_health(
8 health: TransportSessionHealth,
9) -> DiagnosticsTransportHealth {
10 match health {
11 TransportSessionHealth::Connected => DiagnosticsTransportHealth::Connected,
12 TransportSessionHealth::Disconnected => DiagnosticsTransportHealth::Disconnected,
13 }
14}
15
16pub(crate) const fn transport_health_state(health: TransportSessionHealth) -> TransportHealthState {
17 match health {
18 TransportSessionHealth::Connected => TransportHealthState::Connected,
19 TransportSessionHealth::Disconnected => TransportHealthState::Disconnected,
20 }
21}
22
23pub(crate) const fn source_selection_kind(selector: SourceSelector) -> SourceSelectionKind {
24 match selector {
25 SourceSelector::Open => SourceSelectionKind::Open,
26 SourceSelector::Encoding(_) => SourceSelectionKind::Encoding,
27 }
28}