refactor: rename crates

This commit is contained in:
2026-01-26 16:17:04 +02:00
parent 5accec5da4
commit d128816956
11 changed files with 50 additions and 51 deletions

66
Cargo.lock generated
View File

@@ -164,39 +164,6 @@ version = "0.22.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6"
[[package]]
name = "bench-common"
version = "0.1.0"
dependencies = [
"rcgen",
"serde",
"serde_json",
"strum",
"tokio",
]
[[package]]
name = "bench-runner"
version = "0.1.0"
dependencies = [
"bench-common",
"clap",
"miette",
"tokio",
]
[[package]]
name = "bench-server"
version = "0.1.0"
dependencies = [
"bench-common",
"clap",
"miette",
"rustls",
"tokio",
"tokio-rustls",
]
[[package]] [[package]]
name = "bitflags" name = "bitflags"
version = "2.10.0" version = "2.10.0"
@@ -282,6 +249,17 @@ version = "1.0.4"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b05b61dc5112cbb17e4b6cd61790d9845d13888356391624cbe7e41efeac1e75" checksum = "b05b61dc5112cbb17e4b6cd61790d9845d13888356391624cbe7e41efeac1e75"
[[package]]
name = "common"
version = "0.1.0"
dependencies = [
"rcgen",
"serde",
"serde_json",
"strum",
"tokio",
]
[[package]] [[package]]
name = "data-encoding" name = "data-encoding"
version = "2.10.0" version = "2.10.0"
@@ -688,6 +666,16 @@ dependencies = [
"windows-sys 0.52.0", "windows-sys 0.52.0",
] ]
[[package]]
name = "runner"
version = "0.1.0"
dependencies = [
"clap",
"common",
"miette",
"tokio",
]
[[package]] [[package]]
name = "rustc-demangle" name = "rustc-demangle"
version = "0.1.27" version = "0.1.27"
@@ -800,6 +788,18 @@ dependencies = [
"zmij", "zmij",
] ]
[[package]]
name = "server"
version = "0.1.0"
dependencies = [
"clap",
"common",
"miette",
"rustls",
"tokio",
"tokio-rustls",
]
[[package]] [[package]]
name = "shlex" name = "shlex"
version = "1.3.0" version = "1.3.0"

View File

@@ -1,5 +1,5 @@
[workspace] [workspace]
members = ["bench-common", "bench-runner", "bench-server"] members = ["common", "runner", "server"]
resolver = "3" resolver = "3"
[workspace.package] [workspace.package]
@@ -9,7 +9,7 @@ edition = "2024"
[workspace.dependencies] [workspace.dependencies]
aws-lc-rs = "1" aws-lc-rs = "1"
bench-common = { path = "bench-common" } common = { path = "common" }
claims = "0.8" claims = "0.8"
clap = { version = "4.5", features = ["derive"] } clap = { version = "4.5", features = ["derive"] }
miette = { version = "7", features = ["fancy"] } miette = { version = "7", features = ["fancy"] }

View File

@@ -1,5 +1,5 @@
[package] [package]
name = "bench-common" name = "common"
version.workspace = true version.workspace = true
authors.workspace = true authors.workspace = true
edition.workspace = true edition.workspace = true

View File

@@ -11,7 +11,7 @@ cargo build --release
Example: Example:
```bash ```bash
./target/release/bench-server --mode x25519 --listen 0.0.0.0:4433 ./target/release/server --mode x25519 --listen 0.0.0.0:4433
``` ```
## 3) Run client benchmark ## 3) Run client benchmark
@@ -19,7 +19,7 @@ Example:
Example: Example:
```bash ```bash
./target/release/bench-runner \ ./target/release/runner \
--server 1.2.3.4:4433 \ --server 1.2.3.4:4433 \
--mode x25519mlkem768 \ --mode x25519mlkem768 \
--payload-bytes 1024 \ --payload-bytes 1024 \
@@ -35,7 +35,7 @@ Run on the client:
```bash ```bash
perf stat -e cycles,instructions,cache-misses \ perf stat -e cycles,instructions,cache-misses \
./target/release/bench-runner ... ./target/release/runner ...
``` ```
## 5) Summarize ## 5) Summarize

View File

@@ -1,11 +1,11 @@
[package] [package]
name = "bench-runner" name = "runner"
version.workspace = true version.workspace = true
authors.workspace = true authors.workspace = true
edition.workspace = true edition.workspace = true
[dependencies] [dependencies]
bench-common.workspace = true common.workspace = true
clap.workspace = true clap.workspace = true
miette.workspace = true miette.workspace = true
tokio.workspace = true tokio.workspace = true

View File

@@ -6,7 +6,7 @@
//! //!
//! Outputs NDJSON records to stdout or a file. //! Outputs NDJSON records to stdout or a file.
use bench_common::{ use common::{
BenchRecord, KeyExchangeMode, BenchRecord, KeyExchangeMode,
protocol::{read_payload, write_request}, protocol::{read_payload, write_request},
}; };
@@ -23,7 +23,7 @@ use tokio::net::TcpStream;
/// TLS benchmark runner. /// TLS benchmark runner.
#[derive(Debug, Parser)] #[derive(Debug, Parser)]
#[command(name = "bench-runner", version, about)] #[command(name = "runner", version, about)]
struct Args { struct Args {
/// Key exchange mode. /// Key exchange mode.
#[arg(long, default_value = "x25519")] #[arg(long, default_value = "x25519")]
@@ -144,7 +144,7 @@ async fn run_benchmark(args: Args) -> miette::Result<()> {
async fn main() -> miette::Result<()> { async fn main() -> miette::Result<()> {
let args = Args::parse(); let args = Args::parse();
eprintln!("bench-runner configuration:"); eprintln!("runner configuration:");
eprintln!(" mode: {}", args.mode); eprintln!(" mode: {}", args.mode);
eprintln!(" server: {}", args.server); eprintln!(" server: {}", args.server);
eprintln!(" payload_bytes: {}", args.payload_bytes); eprintln!(" payload_bytes: {}", args.payload_bytes);

View File

@@ -1,11 +1,11 @@
[package] [package]
name = "bench-server" name = "server"
version.workspace = true version.workspace = true
authors.workspace = true authors.workspace = true
edition.workspace = true edition.workspace = true
[dependencies] [dependencies]
bench-common.workspace = true common.workspace = true
clap.workspace = true clap.workspace = true
miette.workspace = true miette.workspace = true
rustls.workspace = true rustls.workspace = true

View File

@@ -4,7 +4,7 @@
//! - Reads 8-byte little-endian u64 (requested payload size N) //! - Reads 8-byte little-endian u64 (requested payload size N)
//! - Responds with exactly N bytes (deterministic pattern) //! - Responds with exactly N bytes (deterministic pattern)
use bench_common::{ use common::{
KeyExchangeMode, KeyExchangeMode,
cert::{CaCertificate, ServerCertificate}, cert::{CaCertificate, ServerCertificate},
protocol::{read_request, write_payload}, protocol::{read_request, write_payload},
@@ -27,7 +27,7 @@ use tokio_rustls::LazyConfigAcceptor;
/// TLS benchmark server. /// TLS benchmark server.
#[derive(Debug, Parser)] #[derive(Debug, Parser)]
#[command(name = "bench-server", version, about)] #[command(name = "server", version, about)]
struct Args { struct Args {
/// Key exchange mode. /// Key exchange mode.
#[arg(long, default_value = "x25519")] #[arg(long, default_value = "x25519")]
@@ -48,8 +48,7 @@ fn build_tls_config(
provider.kx_groups = match mode { provider.kx_groups = match mode {
KeyExchangeMode::X25519 => vec![kx_group::X25519], KeyExchangeMode::X25519 => vec![kx_group::X25519],
KeyExchangeMode::X25519Mlkem768 => { KeyExchangeMode::X25519Mlkem768 => {
// TODO: Configure hybrid PQ key exchange todo!("Configure hybrid PQ key exchange")
return Err(miette!("X25519Mlkem768 not yet implemented"));
} }
}; };
@@ -147,7 +146,7 @@ async fn run_server(args: Args, tls_config: Arc<ServerConfig>) -> miette::Result
async fn main() -> miette::Result<()> { async fn main() -> miette::Result<()> {
let args = Args::parse(); let args = Args::parse();
eprintln!("bench-server configuration:"); eprintln!("server configuration:");
eprintln!(" mode: {}", args.mode); eprintln!(" mode: {}", args.mode);
eprintln!(" listen: {}", args.listen); eprintln!(" listen: {}", args.listen);
eprintln!(); eprintln!();