use clap::Parser;
use freezeout_server::server;
use log::error;
use std::path::PathBuf;
#[derive(Debug, Parser)]
struct Cli {
#[clap(long, short, default_value = "127.0.0.1")]
address: String,
#[clap(long, short, default_value_t = 9871)]
port: u16,
#[clap(long, default_value_t = 10, value_parser = clap::value_parser!(u16).range(1..=100))]
tables: u16,
#[clap(long, default_value_t = 3, value_parser = clap::value_parser!(u8).range(2..=6))]
seats: u8,
#[clap(long)]
data_path: Option<PathBuf>,
}
#[tokio::main]
async fn main() {
env_logger::builder()
.filter_level(log::LevelFilter::Info)
.format_target(false)
.format_timestamp_millis()
.init();
let cli = Cli::parse();
let config = freezeout_server::Config {
address: cli.address,
port: cli.port,
tables: cli.tables as usize,
seats: cli.seats as usize,
data_path: cli.data_path,
};
if let Err(e) = server::run(config).await {
error!("{e}");
}
}