node/daemon_json/
json_daemon.rs

1use ledger::scan_state::currency::Slot;
2use serde::{Deserialize, Serialize};
3
4#[derive(Debug, Clone, Serialize, Deserialize)]
5pub struct Daemon {
6    txpool_max_size: Option<usize>,
7    peer_list_url: Option<String>,
8    slot_tx_end: Option<u32>,
9    slot_chain_end: Option<u32>,
10}
11
12impl Daemon {
13    pub const DEFAULT: Daemon = Daemon {
14        txpool_max_size: Some(3000),
15        peer_list_url: None,
16        slot_tx_end: None,
17        slot_chain_end: None,
18    };
19
20    pub fn tx_pool_max_size(&self) -> usize {
21        self.txpool_max_size
22            .unwrap_or(Self::DEFAULT.txpool_max_size.unwrap())
23    }
24
25    pub fn peer_list_url(&self) -> Option<String> {
26        self.peer_list_url.clone()
27    }
28
29    pub fn slot_tx_end(&self) -> Option<Slot> {
30        self.slot_tx_end.map(Slot::from_u32)
31    }
32
33    pub fn slot_chain_end(&self) -> Option<Slot> {
34        self.slot_chain_end.map(Slot::from_u32)
35    }
36}