simpdiscover 0.7.0

A simple library for UDP based service discovery
Documentation
use simpdiscoverylib::BeaconListener;
use env_logger::Builder;
use std::time::Duration;
use log::LevelFilter;

const BEACON_TEST_SERVICE_NAME :&str = "BeaconTestService";

fn main() -> std::io::Result<()> {
    let mut builder = Builder::from_default_env();
    builder.filter_level(LevelFilter::Info).init();

    let args : Vec<String> = std::env::args().collect();
    let service_name = match args.len() {
        0..=1 => BEACON_TEST_SERVICE_NAME.to_string(),
        _ => args[1].clone()
    };

    let timeout = match args.len() {
        1 => None,
        _ => Some(Duration::from_secs(args[2].parse::<u64>().unwrap()))
    };

    println!("Timeout set to {:?}", timeout);

    println!("Waiting for a beacon from service: '{}'", service_name);
    let listener = BeaconListener::new(service_name.as_bytes(), 9002)?;
    println!("Beacon {}", listener.wait(timeout)?);

    Ok(())
}