feat(wifiscan): add Rust macOS + Linux adapters, fix Python byte counters
- Add MacosCoreWlanScanner (macOS): CoreWLAN Swift helper adapter with synthetic BSSID generation via FNV-1a hash for redacted MACs (ADR-025) - Add LinuxIwScanner (Linux): parses `iw dev <iface> scan` output with freq-to-channel conversion and BSS stanza parsing - Both adapters produce Vec<BssidObservation> compatible with the existing WindowsWifiPipeline 8-stage processing - Platform-gate modules with #[cfg(target_os)] so each adapter only compiles on its target OS - Fix Python MacosWifiCollector: remove synthetic byte counters that produced misleading tx_bytes/rx_bytes data (set to 0) - Add compiled Swift binary (mac_wifi) to .gitignore Co-Authored-By: claude-flow <ruv@ruv.net>
This commit is contained in:
@@ -6,8 +6,10 @@
|
||||
//!
|
||||
//! - **Domain types**: [`BssidId`], [`BssidObservation`], [`BandType`], [`RadioType`]
|
||||
//! - **Port**: [`WlanScanPort`] -- trait abstracting the platform scan backend
|
||||
//! - **Adapter**: [`NetshBssidScanner`] -- Tier 1 adapter that parses
|
||||
//! `netsh wlan show networks mode=bssid` output
|
||||
//! - **Adapters**:
|
||||
//! - [`NetshBssidScanner`] -- Windows, parses `netsh wlan show networks mode=bssid`
|
||||
//! - `MacosCoreWlanScanner` -- macOS, invokes CoreWLAN Swift helper (ADR-025)
|
||||
//! - `LinuxIwScanner` -- Linux, parses `iw dev <iface> scan` output
|
||||
|
||||
pub mod adapter;
|
||||
pub mod domain;
|
||||
@@ -19,6 +21,16 @@ pub mod port;
|
||||
pub use adapter::NetshBssidScanner;
|
||||
pub use adapter::parse_netsh_output;
|
||||
pub use adapter::WlanApiScanner;
|
||||
|
||||
#[cfg(target_os = "macos")]
|
||||
pub use adapter::MacosCoreWlanScanner;
|
||||
#[cfg(target_os = "macos")]
|
||||
pub use adapter::parse_macos_scan_output;
|
||||
|
||||
#[cfg(target_os = "linux")]
|
||||
pub use adapter::LinuxIwScanner;
|
||||
#[cfg(target_os = "linux")]
|
||||
pub use adapter::parse_iw_scan_output;
|
||||
pub use domain::bssid::{BandType, BssidId, BssidObservation, RadioType};
|
||||
pub use domain::frame::MultiApFrame;
|
||||
pub use domain::registry::{BssidEntry, BssidMeta, BssidRegistry, RunningStats};
|
||||
|
||||
Reference in New Issue
Block a user