2023-04-03 02:13:01 -07:00
|
|
|
use crate::{DEFAULT_CLEAN_INTERVAL_MS, DEFAULT_FANOUT_SIZE, DEFAULT_RPC_ADDR, DEFAULT_WS_ADDR};
|
2022-12-07 07:05:18 -08:00
|
|
|
use clap::Parser;
|
2022-11-12 05:32:01 -08:00
|
|
|
|
2022-11-30 07:56:41 -08:00
|
|
|
#[derive(Parser, Debug)]
|
2022-12-16 18:35:49 -08:00
|
|
|
#[command(author, version, about, long_about = None)]
|
2022-11-30 07:56:41 -08:00
|
|
|
pub struct Args {
|
2022-12-16 18:35:49 -08:00
|
|
|
#[arg(short, long, default_value_t = String::from(DEFAULT_RPC_ADDR))]
|
|
|
|
pub rpc_addr: String,
|
|
|
|
#[arg(short, long, default_value_t = String::from(DEFAULT_WS_ADDR))]
|
|
|
|
pub ws_addr: String,
|
2023-01-16 21:37:26 -08:00
|
|
|
#[arg(short = 'l', long, default_value_t = String::from("[::]:8890"))]
|
2023-01-05 02:54:00 -08:00
|
|
|
pub lite_rpc_http_addr: String,
|
2023-01-16 21:37:26 -08:00
|
|
|
#[arg(short = 's', long, default_value_t = String::from("[::]:8891"))]
|
2023-01-05 02:54:00 -08:00
|
|
|
pub lite_rpc_ws_addr: String,
|
2023-01-10 07:45:30 -08:00
|
|
|
/// tpu fanout
|
|
|
|
#[arg(short = 'f', long, default_value_t = DEFAULT_FANOUT_SIZE) ]
|
|
|
|
pub fanout_size: u64,
|
2023-01-10 06:56:41 -08:00
|
|
|
/// interval between clean
|
2023-01-11 23:05:13 -08:00
|
|
|
#[arg(short = 'c', long, default_value_t = DEFAULT_CLEAN_INTERVAL_MS)]
|
2023-01-10 06:56:41 -08:00
|
|
|
pub clean_interval_ms: u64,
|
2023-02-04 03:45:20 -08:00
|
|
|
/// enable logging to postgres
|
2023-01-30 09:01:40 -08:00
|
|
|
#[arg(short = 'p', long)]
|
2023-02-02 05:30:15 -08:00
|
|
|
pub enable_postgres: bool,
|
2023-02-04 03:45:20 -08:00
|
|
|
/// enable metrics to prometheus at addr
|
|
|
|
#[arg(short = 'm', long, default_value_t = String::from("[::]:9091"))]
|
|
|
|
pub prometheus_addr: String,
|
2023-02-08 13:18:09 -08:00
|
|
|
#[arg(short = 'k', long, default_value_t = String::new())]
|
|
|
|
pub identity_keypair: String,
|
2022-11-12 05:32:01 -08:00
|
|
|
}
|