Skip to main content

Crate prt_core

Crate prt_core 

Source
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 by AtomicU8.
  • 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}");

Modules§

core
Core business logic: scanning, diffing, killing, and session management.
i18n
Internationalization with runtime language switching.
model
Core data types for the port monitor.
platform
Platform-specific port scanning.