rate_core/actors/node/
config.rs

1use serde::{Deserialize, Serialize};
2use std::net::SocketAddr;
3
4/// Server configuration.
5#[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq)]
6pub struct NodeConfig {
7    /// An address where bind the server.
8    pub external_address: Option<SocketAddr>,
9    pub internal_address: Option<SocketAddr>,
10}
11
12impl Default for NodeConfig {
13    fn default() -> Self {
14        Self {
15            external_address: None,
16            internal_address: None,
17        }
18    }
19}
20
21impl NodeConfig {
22    pub fn external_address(&self) -> SocketAddr {
23        self.external_address
24            .unwrap_or_else(|| "0.0.0.0:6361".parse().unwrap())
25    }
26
27    pub fn internal_address(&self) -> SocketAddr {
28        self.internal_address
29            .unwrap_or_else(|| "127.0.0.1:1636".parse().unwrap())
30    }
31}