lite-rpc/src/cli.rs

30 lines
1.2 KiB
Rust
Raw Normal View History

use crate::{DEFAULT_CLEAN_INTERVAL_MS, DEFAULT_FANOUT_SIZE, DEFAULT_RPC_ADDR, DEFAULT_WS_ADDR};
use clap::Parser;
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
#[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)]
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,
#[arg(short = 'k', long, default_value_t = String::new())]
pub identity_keypair: String,
}