sctp_proto/association/
stats.rs

1/// Association statistics
2#[derive(Default, Debug, Copy, Clone)]
3pub struct AssociationStats {
4    n_datas: u64,
5    n_sacks: u64,
6    n_t3timeouts: u64,
7    n_ack_timeouts: u64,
8    n_fast_retrans: u64,
9}
10
11impl AssociationStats {
12    pub fn inc_datas(&mut self) {
13        self.n_datas += 1;
14    }
15
16    pub fn get_num_datas(&mut self) -> u64 {
17        self.n_datas
18    }
19
20    pub fn inc_sacks(&mut self) {
21        self.n_sacks += 1;
22    }
23
24    pub fn get_num_sacks(&mut self) -> u64 {
25        self.n_sacks
26    }
27
28    pub fn inc_t3timeouts(&mut self) {
29        self.n_t3timeouts += 1;
30    }
31
32    pub fn get_num_t3timeouts(&mut self) -> u64 {
33        self.n_t3timeouts
34    }
35
36    pub fn inc_ack_timeouts(&mut self) {
37        self.n_ack_timeouts += 1;
38    }
39
40    pub fn get_num_ack_timeouts(&mut self) -> u64 {
41        self.n_ack_timeouts
42    }
43
44    pub fn inc_fast_retrans(&mut self) {
45        self.n_fast_retrans += 1;
46    }
47
48    pub fn get_num_fast_retrans(&mut self) -> u64 {
49        self.n_fast_retrans
50    }
51
52    pub fn reset(&mut self) {
53        self.n_datas = 0;
54        self.n_sacks = 0;
55        self.n_t3timeouts = 0;
56        self.n_ack_timeouts = 0;
57        self.n_fast_retrans = 0;
58    }
59}