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 = max_size.clamp(64, 4096);
33        Self {
34            timeout: 1,
35            min: 64,
36            max: max_size,
37            layers: layers_list,
38            message: "log_get".to_owned(),
39            headers: false,
40            message_id: id,
41        }
42    }
43}