rigtop_core/lib.rs
1//! Data collection core shared by the rigtop TUI and GUI.
2//!
3//! - [`snapshot`]: the serializable measurement types exchanged between data
4//! sources and front-ends (also the wire format for remote monitoring).
5//! - [`source`]: the [`DataSource`] trait and the [`LocalSource`] implementation.
6//! - [`config`]: user configuration (sensor labels, SMART directory).
7//! - [`system`], [`gpu`], [`smart`], `linux`: the individual collectors.
8//! - [`agent`], [`remote`]: remote monitoring over SSH (`rigtop --agent` and
9//! the [`remote::RemoteSource`] that talks to it).
10//! - [`worker`], [`view`], [`format`]: front-end helpers shared by the TUI
11//! and the GUI (background polling thread, process table logic, units).
12
13pub mod agent;
14pub mod config;
15pub mod format;
16pub mod gpu;
17pub mod hosts;
18// Parsed (and tested) everywhere, used on Windows.
19#[cfg(any(windows, test))]
20mod lhm;
21#[cfg(target_os = "linux")]
22pub mod linux;
23pub mod remote;
24pub mod smart;
25pub mod snapshot;
26pub mod source;
27pub mod system;
28pub mod view;
29pub mod widget;
30#[cfg(windows)]
31mod windows;
32pub mod worker;
33
34pub use config::Config;
35pub use snapshot::Snapshot;
36pub use source::{DataSource, LocalSource, MIN_POLL_INTERVAL, ProcessSignal, SourceError};