use clap::Parser; use std::{ net::{Ipv4Addr, SocketAddr, SocketAddrV4}, path::PathBuf, }; #[derive(Parser, Debug)] #[command(version, about, long_about = None)] pub struct Argument { /// Bind server `host:port` to listen incoming connections on it #[arg(short, long, default_value_t = SocketAddr::V4(SocketAddrV4::new(Ipv4Addr::LOCALHOST, 1965)))] pub bind: SocketAddr, /// Filepath to server identity in PKCS (PFX) format #[arg(short, long)] pub identity: PathBuf, /// Passphrase to unlock encrypted identity #[arg(short, long, default_value_t = String::new())] pub password: String, /// btracker-fs directory #[arg(short, long)] pub storage: PathBuf, /// Listing items limit #[arg(short, long, default_value_t = 10)] pub limit: usize, /// Default index capacity #[arg(short, long, default_value_t = 1000)] pub capacity: usize, }