reserved_only CLI flag
This commit is contained in:
parent
ab4561b5bc
commit
06a3557e3e
@ -70,6 +70,7 @@ Networking Options:
|
||||
--reserved-peers FILE Provide a file containing enodes, one per line.
|
||||
These nodes will always have a reserved slot on top
|
||||
of the normal maximum peers.
|
||||
--reserved-only Connect only to reserved nodes.
|
||||
|
||||
API and Console Options:
|
||||
--jsonrpc-off Disable the JSON-RPC API server.
|
||||
@ -240,6 +241,7 @@ pub struct Args {
|
||||
pub flag_nat: String,
|
||||
pub flag_node_key: Option<String>,
|
||||
pub flag_reserved_peers: Option<String>,
|
||||
pub flag_reserved_only: bool,
|
||||
pub flag_cache_pref_size: usize,
|
||||
pub flag_cache_max_size: usize,
|
||||
pub flag_queue_max_size: usize,
|
||||
|
@ -200,6 +200,7 @@ impl Configuration {
|
||||
net_path.push("network");
|
||||
ret.config_path = Some(net_path.to_str().unwrap().to_owned());
|
||||
ret.reserved_nodes = self.init_reserved_nodes();
|
||||
ret.reserved_only = self.args.flag_reserved_only;
|
||||
ret
|
||||
}
|
||||
|
||||
|
@ -308,7 +308,7 @@ fn execute_export(conf: Configuration) {
|
||||
udp_port: None,
|
||||
nat_enabled: false,
|
||||
discovery_enabled: false,
|
||||
pin: true,
|
||||
reserved_only: true,
|
||||
boot_nodes: Vec::new(),
|
||||
use_secret: None,
|
||||
ideal_peers: 0,
|
||||
@ -380,7 +380,7 @@ fn execute_import(conf: Configuration) {
|
||||
udp_port: None,
|
||||
nat_enabled: false,
|
||||
discovery_enabled: false,
|
||||
pin: true,
|
||||
reserved_only: true,
|
||||
boot_nodes: Vec::new(),
|
||||
use_secret: None,
|
||||
ideal_peers: 0,
|
||||
|
@ -74,5 +74,4 @@ impl<M> EthcoreSet for EthcoreSetClient<M> where M: MinerService + 'static {
|
||||
to_value(&true)
|
||||
})
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -65,8 +65,8 @@ pub struct NetworkConfiguration {
|
||||
pub nat_enabled: bool,
|
||||
/// Enable discovery
|
||||
pub discovery_enabled: bool,
|
||||
/// Pin to boot nodes only
|
||||
pub pin: bool,
|
||||
/// Pin to reserved nodes only
|
||||
pub reserved_only: bool,
|
||||
/// List of initial node addresses
|
||||
pub boot_nodes: Vec<String>,
|
||||
/// Use provided node key instead of default
|
||||
@ -93,7 +93,7 @@ impl NetworkConfiguration {
|
||||
udp_port: None,
|
||||
nat_enabled: true,
|
||||
discovery_enabled: true,
|
||||
pin: false,
|
||||
reserved_only: false,
|
||||
boot_nodes: Vec::new(),
|
||||
use_secret: None,
|
||||
ideal_peers: 25,
|
||||
@ -483,7 +483,7 @@ impl<Message> Host<Message> where Message: Send + Sync + Clone {
|
||||
// Initialize discovery.
|
||||
let discovery = {
|
||||
let info = self.info.read().unwrap();
|
||||
if info.config.discovery_enabled && !info.config.pin {
|
||||
if info.config.discovery_enabled && !info.config.reserved_only {
|
||||
Some(Discovery::new(&info.keys, public_endpoint.address.clone(), public_endpoint, DISCOVERY))
|
||||
} else { None }
|
||||
};
|
||||
@ -544,7 +544,7 @@ impl<Message> Host<Message> where Message: Send + Sync + Clone {
|
||||
return;
|
||||
}
|
||||
let ideal_peers = { self.info.read().unwrap().config.ideal_peers };
|
||||
let pin = { self.info.read().unwrap().config.pin };
|
||||
let pin = { self.info.read().unwrap().config.reserved_only };
|
||||
let session_count = self.session_count();
|
||||
if session_count >= ideal_peers as usize + self.pinned_nodes.len() {
|
||||
// check if all pinned nodes are connected.
|
||||
|
Loading…
Reference in New Issue
Block a user