rust_network_mgr/lib.rs
1// Declare the modules that form the library's structure
2pub mod config;
3pub mod network;
4pub mod nftables;
5pub mod socket;
6pub mod types;
7
8// Publicly export key types, functions, and modules needed by the binary or tests
9pub use config::{load_config, validate_config};
10pub use network::NetworkMonitor;
11pub use nftables::NftablesManager;
12pub use socket::SocketHandler;
13pub use types::{AppConfig, AppError, ControlCommand, NetworkEvent, NetworkState, Result};
14
15// You might also want a function to run the main application logic, called by main.rs
16// Example (needs more implementation based on main.rs logic):
17/*
18pub async fn run_daemon(config_path: Option<&std::path::Path>) -> Result<()> {
19 // ... initialization code from main.rs ...
20 // ... spawn tasks ...
21 // ... main event loop ...
22 // ... cleanup ...
23 Ok(())
24}
25*/