rust-simple-ping 0.0.2

simple crate to async ping a server
Documentation
use std::{error::Error, net::IpAddr};

#[cfg(test)]
mod tests;

const DEFAULT_ADDRESS: IpAddr = IpAddr::V4(std::net::Ipv4Addr::new(8, 8, 8, 8));
const DEFAULT_PAYLOAD: &[u8] = &[0; 8];

pub async fn ping(
    address: Option<IpAddr>,
    payload: Option<&[u8]>,
) -> Result<(surge_ping::IcmpPacket, std::time::Duration), Box<dyn Error>> {
    let address = address.unwrap_or(DEFAULT_ADDRESS);
    let payload = payload.unwrap_or(DEFAULT_PAYLOAD);

    let pinged = surge_ping::ping(address, payload).await;

    match pinged {
        Ok(pinged) => {
            // println!("Ping: {:?}", pinged);
            Ok(pinged)
        }
        Err(e) => {
            // println!("Error: {:?}", e);
            Err(Box::new(e))
        }
    }
}