pub mod init;
pub mod run;
use clap::{Parser, Subcommand};
#[derive(Parser, Clone)]
#[command(name = "refractium", version, about)]
pub struct Cli {
#[command(subcommand)]
pub command: Option<Commands>,
#[arg(short, long, default_value = "0.0.0.0")]
pub bind: String,
#[arg(short, long, default_value_t = 8080)]
pub port: u16,
#[arg(short, long, default_value = "refractium.toml")]
pub config: String,
#[arg(long)]
pub debug: bool,
#[arg(short = 'f', long)]
pub forward: Vec<String>,
#[arg(long)]
pub peek_buffer: Option<usize>,
#[arg(long)]
pub peek_timeout: Option<u64>,
#[arg(long)]
pub max_connections: Option<usize>,
#[arg(long)]
pub no_hot_reload: bool,
}
#[derive(Subcommand, Clone)]
pub enum Commands {
Tcp,
Udp,
Init,
}