netspd/lib.rs
1//! netspd — a beautiful, modern, minimalistic network speed testing
2//! terminal application.
3//!
4//! The crate is layered strictly:
5//!
6//! - [`tui`] (presentation) draws [`app`] state with Ratatui;
7//! - [`app`] (application) reduces events into state and runs the loop;
8//! - [`engine`] (domain) measures ping, download and upload through a
9//! provider abstraction, with no knowledge of any UI;
10//! - [`config`], [`errors`] and [`utils`] support all layers.
11//!
12//! The engine is reusable on its own: a CLI, GUI or REST API can drive
13//! [`engine::Engine`] and consume [`engine::EngineEvent`]s without pulling
14//! in any terminal code.
15
16pub mod app;
17pub mod config;
18pub mod engine;
19pub mod errors;
20pub mod tui;
21pub mod utils;