[][src]Crate ekko

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

Example

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(())
}

Modules

error

Structs

Ekko
EkkoData

Enums

EkkoResponse
Unreachable
UnreachableCodeV4
UnreachableCodeV6