tramex_tools/interface/
log_get.rs

1//! LogGet struct for sending log_get message to the server
2use crate::interface::layer::Layers;
3
4#[derive(serde::Serialize, serde::Deserialize, Debug)]
5/// LogGet struct
6pub struct LogGet {
7    /// Timeout
8    timeout: u64,
9
10    /// Minimum size of the log
11    min: u64,
12
13    /// Maximum size of the log
14    max: u64,
15
16    /// Layers
17    layers: Layers,
18
19    /// Message
20    message: String,
21
22    /// Headers
23    headers: bool,
24
25    /// Message ID
26    message_id: u64,
27}
28
29impl LogGet {
30    /// Create a new LogGet struct
31    pub fn new(id: u64, layers_list: Layers, max_size: u64) -> Self {
32        let max_size = if max_size < 64 {
33            64
34        } else if max_size > 4096 {
35            4096
36        } else {
37            max_size
38        };
39        Self {
40            timeout: 1,
41            min: 64,
42            max: max_size,
43            layers: layers_list,
44            message: "log_get".to_owned(),
45            headers: false,
46            message_id: id,
47        }
48    }
49}