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