pqc-demo: Suggested main.rs Structure
use clap::{Parser, Subcommand};
#[derive(Parser)]
#[command(name = "pqc-demo", about = "Post-quantum crypto demonstrations")]
struct Cli {
#[command(subcommand)]
command: Commands,
}
#[derive(Subcommand)]
enum Commands {
Kem,
Dsa,
Hybrid,
Bench { #[arg(short, default_value_t = 100)] n: u32 },
Tls,
}
fn main() {
let cli = Cli::parse();
match cli.command {
Commands::Kem => demo::kem::run(),
Commands::Dsa => demo::dsa::run(),
Commands::Hybrid => demo::hybrid::run(),
Commands::Bench { n } => demo::bench::run(n),
Commands::Tls => demo::tls::run(),
}
}