ekko 0.3.0

Ekko is a simple and light utility for sending echo requests, giving you (mostly) everything you need.
Documentation

🕊️Ekko

Echo Request Utility

Rust dependency status Documentation License


Ekko is a simple and light utility for sending echo requests, giving you (mostly) everything you need.

Usage

To use ekko, add this to your Cargo.toml:

[dependencies]
ekko = "0.3.0"

Example

The following example will trace the route to the specified destination.

use ekko::{ error::{EkkoError},
    EkkoResponse,
    Ekko,
};
 
fn main() -> Result<(), EkkoError> {
    let mut ping = Ekko::with_target("rustup.rs")?;
    
    for hops in 1..32 {
        let response = ping.send(hops)?;
 
        match response {
            EkkoResponse::DestinationResponse(data) => {
                println!("DestinationResponse: {:#?}", data);
                break
            }
            
            EkkoResponse::UnreachableResponse((data, reason)) => {
                println!("UnreachableResponse: {:#?} | {:#?}", data, reason);
                continue
            }
            
            EkkoResponse::UnexpectedResponse((data, (t, c))) => {
                println!("UnexpectedResponse: ({}, {}), {:#?}", t, c, data);
                continue
            }
            
            EkkoResponse::ExceededResponse(data) => {
                println!("ExceededResponse: {:#?}", data);
                continue
            }
            
            EkkoResponse::LackingResponse(data) => {
                println!("LackingResponse: {:#?}", data);
                continue
            }
        }
    }
    
    Ok(())
}

Contributing

All contributions are welcome, don't hesitate to open an issue if something is missing!

License

MIT