Add CLI option and route to MinerOptions.
This commit is contained in:
parent
83c967c082
commit
e24f9c9936
@ -45,6 +45,8 @@ pub enum PendingSet {
|
|||||||
/// Configures the behaviour of the miner.
|
/// Configures the behaviour of the miner.
|
||||||
#[derive(Debug)]
|
#[derive(Debug)]
|
||||||
pub struct MinerOptions {
|
pub struct MinerOptions {
|
||||||
|
/// URLs to notify when there is new work.
|
||||||
|
pub new_work_notify: Vec<String>,
|
||||||
/// Force the miner to reseal, even when nobody has asked for work.
|
/// Force the miner to reseal, even when nobody has asked for work.
|
||||||
pub force_sealing: bool,
|
pub force_sealing: bool,
|
||||||
/// Reseal on receipt of new external transactions.
|
/// Reseal on receipt of new external transactions.
|
||||||
@ -66,6 +68,7 @@ pub struct MinerOptions {
|
|||||||
impl Default for MinerOptions {
|
impl Default for MinerOptions {
|
||||||
fn default() -> Self {
|
fn default() -> Self {
|
||||||
MinerOptions {
|
MinerOptions {
|
||||||
|
new_work_notify: vec![],
|
||||||
force_sealing: false,
|
force_sealing: false,
|
||||||
reseal_on_external_tx: true,
|
reseal_on_external_tx: true,
|
||||||
reseal_on_own_tx: true,
|
reseal_on_own_tx: true,
|
||||||
|
@ -169,6 +169,8 @@ Sealing/Mining Options:
|
|||||||
more than 32 characters.
|
more than 32 characters.
|
||||||
--tx-queue-size LIMIT Maximum amount of transactions in the queue (waiting
|
--tx-queue-size LIMIT Maximum amount of transactions in the queue (waiting
|
||||||
to be included in next block) [default: 1024].
|
to be included in next block) [default: 1024].
|
||||||
|
--notify-work URLS URLs to which work package notifications are pushed.
|
||||||
|
URLS should be a comma-delimited list of HTTP URLs.
|
||||||
|
|
||||||
Footprint Options:
|
Footprint Options:
|
||||||
--tracing BOOL Indicates if full transaction tracing should be
|
--tracing BOOL Indicates if full transaction tracing should be
|
||||||
@ -320,6 +322,7 @@ pub struct Args {
|
|||||||
pub flag_gas_cap: String,
|
pub flag_gas_cap: String,
|
||||||
pub flag_extra_data: Option<String>,
|
pub flag_extra_data: Option<String>,
|
||||||
pub flag_tx_queue_size: usize,
|
pub flag_tx_queue_size: usize,
|
||||||
|
pub flag_work_notify: Option<String>,
|
||||||
pub flag_logging: Option<String>,
|
pub flag_logging: Option<String>,
|
||||||
pub flag_version: bool,
|
pub flag_version: bool,
|
||||||
pub flag_from: String,
|
pub flag_from: String,
|
||||||
|
@ -84,6 +84,10 @@ impl Configuration {
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pub fn work_notify(&self) -> Vec<String> {
|
||||||
|
self.args.flag_work_notify.as_ref().map_or_else(Vec::new, |s| s.split(',').map(|s| s.to_owned()).collect())
|
||||||
|
}
|
||||||
|
|
||||||
pub fn miner_options(&self) -> MinerOptions {
|
pub fn miner_options(&self) -> MinerOptions {
|
||||||
let (own, ext) = match self.args.flag_reseal_on_txs.as_str() {
|
let (own, ext) = match self.args.flag_reseal_on_txs.as_str() {
|
||||||
"none" => (false, false),
|
"none" => (false, false),
|
||||||
@ -93,6 +97,7 @@ impl Configuration {
|
|||||||
x => die!("{}: Invalid value for --reseal option. Use --help for more information.", x)
|
x => die!("{}: Invalid value for --reseal option. Use --help for more information.", x)
|
||||||
};
|
};
|
||||||
MinerOptions {
|
MinerOptions {
|
||||||
|
new_work_notify: self.work_notify(),
|
||||||
force_sealing: self.args.flag_force_sealing,
|
force_sealing: self.args.flag_force_sealing,
|
||||||
reseal_on_external_tx: ext,
|
reseal_on_external_tx: ext,
|
||||||
reseal_on_own_tx: own,
|
reseal_on_own_tx: own,
|
||||||
|
Loading…
Reference in New Issue
Block a user