Skip to main content

netspeed_cli/domain/
mod.rs

1//! Domain layer for netspeed-cli.
2//!
3//! This module contains the core business logic extracted from the broader
4//! codebase into focused, cohesive domains.
5//!
6//! ## Architecture
7//!
8//! - [`speedtest`] — Full test lifecycle orchestration
9//! - [`measurement`] — Bandwidth measurement (download/upload)
10//! - [`server`] — Server discovery and selection
11//! - [`reporting`] — Result assembly and grading
12//!
13//! ## Design Principles
14//!
15//! - Single responsibility per module
16//! - Clear boundaries between domains
17//! - Testable with minimal dependencies
18
19pub mod measurement;
20pub mod reporting;
21pub mod server;
22pub mod speedtest;
23
24pub use crate::task_runner::TestRunResult;
25pub use measurement::run_bandwidth_test;
26pub use reporting::TestResultBuilder;
27pub use server::{ServerDiscovery, select_best_server};
28pub use speedtest::run_all_phases;