wayle-network 0.1.1

WiFi and wired network management
Documentation

wayle-network

WiFi and wired network management via NetworkManager D-Bus.

Crates.io docs.rs License: MIT

Installation

cargo add wayle-network

Usage

use wayle_network::NetworkService;
use futures::StreamExt;

async fn example() -> Result<(), wayle_network::Error> {
    let net = NetworkService::new().await?;

    // wifi is None if no adapter is present
    let Some(wifi) = net.wifi.get() else {
        println!("no WiFi adapter");
        return Ok(());
    };

    println!("SSID: {:?}, signal: {:?}", wifi.ssid.get(), wifi.strength.get());

    // react to connectivity changes
    let mut stream = wifi.connectivity.watch();
    while let Some(status) = stream.next().await {
        println!("connectivity: {status:?}");
    }
    Ok(())
}

License

MIT

Part of wayle-services.