Commit Graph

14 Commits

Author SHA1 Message Date
0da83f231b feat(runner): implement concurrent benchmark execution
- Add tokio::Semaphore for bounded parallelism
- Split benchmark into sequential warmup and parallel measured phases
- Refactor to spawn_benchmark_tasks() and spawn_single_iteration()
- Add write_results() to aggregate and output records
- Use u32 for CLI arguments (iters, warmup, concurrency, payload_bytes)
2026-02-04 10:27:37 +02:00
2cd2edc61d docs: mark completed tasks 2026-02-03 14:03:21 +02:00
27e1cbe98b feat: add hybrid PQ key exchange support (X25519MLKEM768)
- Update server and runner to use X25519MLKEM768 kx group from aws_lc_rs
- Both --mode x25519 and --mode x25519mlkem768 now work
- Integration tested end-to-end with both modes
2026-02-03 14:00:53 +02:00
b03cc2a386 feat(runner): add TLS 1.3 client with X25519
- Configure rustls client with aws_lc_rs, X25519-only key exchange
- Skip certificate verification for benchmarking (NoVerifier)
- Measure TLS handshake latency (TCP + TLS combined)
- TLS 1.3 protocol enforced
2026-01-28 18:30:40 +02:00
e7c97070ca chore: add justfile 2026-01-27 13:24:45 +02:00
77b611b0fa ci: add cargo-husky pre-commit hooks 2026-01-26 16:48:51 +02:00
6154a99fa6 ci: add actions workflow 2026-01-26 16:28:51 +02:00
e07d16644e chore: add LICENSE
Create LICENSE-APACHE

Create LICENSE-MIT
2026-01-26 16:23:31 +02:00
d128816956 refactor: rename crates 2026-01-26 16:17:04 +02:00
5accec5da4 feat(bench-server): add TLS 1.3 with X25519 key exchange
- Generate self-signed certificates on startup using rcgen
- Configure rustls with aws_lc_rs crypto provider
- Filter key exchange groups to X25519-only for mode=x25519
- Print CA certificate for client trust configuration
- TLS 1.3 protocol enforced
2026-01-26 16:09:27 +02:00
76109356c0 feat: implement raw TCP benchmark protocol
- protocol: 8-byte LE u64 request -> N-byte deterministic response
- bench-server: TCP server with per-connection handlers
- bench-runner: benchmark loop with warmup, NDJSON output
- Integration tested: server and client communicate correctly
2026-01-25 16:37:05 +02:00
09fb7821bb feat(bench-common): add certificate generation utilities
- CaCertificate: self-signed CA that can sign server certificates
- ServerCertificate: DER-encoded cert chain and private key
- generate_test_certs(): convenience helper for local testing
- Uses rcgen 0.14 for X.509 certificate generation
2026-01-25 16:29:33 +02:00
4cec80f30e feat: scaffold workspace with bench-common, bench-server, bench-runner
- bench-common: KeyExchangeMode enum, BenchRecord NDJSON struct
- bench-server: CLI stub with --mode and --listen
- bench-runner: CLI stub with --mode, --server, --payload-bytes, --iters, --warmup, --concurrency, --out
2026-01-25 16:23:19 +02:00
bb0a195e73 Initial commit 2026-01-25 15:57:47 +02:00