1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
use datasize::DataSize; use serde::{Deserialize, Serialize}; /// Default binding address for the JSON-RPC HTTP server. /// /// Uses a fixed port per node, but binds on any interface. const DEFAULT_ADDRESS: &str = "0.0.0.0:0"; /// JSON-RPC HTTP server configuration. #[derive(Clone, DataSize, Debug, Deserialize, Serialize)] // Disallow unknown fields to ensure config files and command-line overrides contain valid keys. #[serde(deny_unknown_fields)] pub struct Config { /// Address to bind JSON-RPC HTTP server to. pub address: String, } impl Config { /// Creates a default instance for `RpcServer`. pub fn new() -> Self { Config { address: DEFAULT_ADDRESS.to_string(), } } } impl Default for Config { fn default() -> Self { Config::new() } }