use tc_service::config::TransactionPoolOptions;
use structopt::StructOpt;
#[derive(Debug, StructOpt)]
pub struct TransactionPoolParams {
#[structopt(long = "pool-limit", value_name = "COUNT", default_value = "8192")]
pub pool_limit: usize,
#[structopt(long = "pool-kbytes", value_name = "COUNT", default_value = "20480")]
pub pool_kbytes: usize,
}
impl TransactionPoolParams {
pub fn transaction_pool(&self) -> TransactionPoolOptions {
let mut opts = TransactionPoolOptions::default();
opts.ready.count = self.pool_limit;
opts.ready.total_bytes = self.pool_kbytes * 1024;
let factor = 10;
opts.future.count = self.pool_limit / factor;
opts.future.total_bytes = self.pool_kbytes * 1024 / factor;
opts
}
}