1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66
#![deny(unsafe_code)] //! Ekko is a simple utility for sending echo requests, giving you (mostly) everything you need. //! //! ## Example //! ```rust,no_run //! use ekko::{ error::{EkkoError}, //! EkkoResponse, //! Ekko, //! }; //! //! fn main() -> Result<(), EkkoError> { //! let mut ping = Ekko::with_target("rustup.rs")?; //! //! // Send single .. //! for hop in 0..64 { //! match ping.send(hop)? { //! //! EkkoResponse::Destination(data) => { //! println!("{:?}", EkkoResponse::Destination(data)); //! break //! } //! //! x => println!("{:?}", x) //! } //! } //! //! // Send batch .. //! for response in ping.trace(0..64)? { //! match response { //! //! EkkoResponse::Destination(data) => { //! println!("{:?}", EkkoResponse::Destination(data)); //! break //! } //! //! x => println!("{:?}", x) //! } //! } //! //! Ok(()) //! } //! ``` mod responses; mod packets; mod sender; pub use sender::{Ekko}; pub mod error; pub use responses::{ UnreachableCodeV6, UnreachableCodeV4, Unreachable, ParameterProblemV6, ParameterProblemV4, ParameterProblem, Redirect, EkkoResponse, EkkoData, };