Expand description
§prt-core
Core library for prt — a real-time network port monitor.
This crate provides the platform-independent logic for scanning, tracking, filtering, sorting, and exporting network port information. It is designed to be consumed by any frontend (TUI, GUI, CLI).
§Architecture
platform::scan_ports()
→ Session::refresh()
→ scanner::diff_entries() (New / Unchanged / Gone)
→ scanner::sort_entries()
→ scanner::filter_indices()
→ UI renders§Modules
model— Core data types:PortEntry,TrackedEntry,SortState, enums.core— Business logic: scanning, diffing, filtering, sorting, killing, session management.i18n— Internationalization: runtime-switchable language support (English, Russian, Chinese) backed byAtomicU8.platform— OS-specific port scanning: macOS (lsof), Linux (/proc).
§Example
use prt_core::core::scanner;
use prt_core::model::ExportFormat;
let entries = scanner::scan().expect("scan failed");
let json = scanner::export(&entries, ExportFormat::Json).unwrap();
println!("{json}");