o_sfu_core/engine/source_model/
diagnostics.rs1use crate::Bitrate;
2
3#[derive(Debug, Clone, Copy, Default, PartialEq, Eq)]
5pub struct ReceiverVideoBudgetDiagnostics {
6 latest_receiver_bandwidth: Option<Bitrate>,
7 selected_video_budget: Option<Bitrate>,
8 active_video_route_count: usize,
9 selected_video_bitrate: Bitrate,
10}
11
12impl ReceiverVideoBudgetDiagnostics {
13 #[must_use]
14 pub const fn new(
15 latest_receiver_bandwidth: Option<Bitrate>,
16 selected_video_budget: Option<Bitrate>,
17 active_video_route_count: usize,
18 selected_video_bitrate: Bitrate,
19 ) -> Self {
20 Self {
21 latest_receiver_bandwidth,
22 selected_video_budget,
23 active_video_route_count,
24 selected_video_bitrate,
25 }
26 }
27
28 #[must_use]
29 pub const fn latest_receiver_bandwidth(self) -> Option<Bitrate> {
30 self.latest_receiver_bandwidth
31 }
32
33 #[must_use]
34 pub const fn selected_video_budget(self) -> Option<Bitrate> {
35 self.selected_video_budget
36 }
37
38 #[must_use]
39 pub const fn active_video_route_count(self) -> usize {
40 self.active_video_route_count
41 }
42
43 #[must_use]
44 pub const fn selected_video_bitrate(self) -> Bitrate {
45 self.selected_video_bitrate
46 }
47}