1use std::time::Duration;
2
3#[derive(Debug, Clone)]
4pub struct ConnectParams {
5 pub rack: u8,
6 pub slot: u8,
7 pub pdu_size: u16,
8 pub connect_timeout: Duration,
9 pub request_timeout: Duration,
10}
11
12impl Default for ConnectParams {
13 fn default() -> Self {
14 Self {
15 rack: 0,
16 slot: 1,
17 pdu_size: 480,
18 connect_timeout: Duration::from_secs(5),
19 request_timeout: Duration::from_secs(10),
20 }
21 }
22}
23
24#[derive(Debug, Clone, Copy, PartialEq, Eq)]
25#[repr(u8)]
26pub enum BlockType {
27 OB = 0x38,
28 DB = 0x41,
29 SDB = 0x42,
30 FC = 0x43,
31 SFC = 0x44,
32 FB = 0x45,
33 SFB = 0x46,
34}
35
36#[cfg(test)]
37mod tests {
38 use super::*;
39
40 #[test]
41 fn connect_params_default() {
42 let p = ConnectParams::default();
43 assert_eq!(p.rack, 0);
44 assert_eq!(p.slot, 1);
45 assert_eq!(p.pdu_size, 480);
46 }
47
48 #[test]
49 fn block_type_discriminants() {
50 assert_eq!(BlockType::DB as u8, 0x41);
51 assert_eq!(BlockType::OB as u8, 0x38);
52 }
53}