ekko/
lib.rs

1//! Ekko aims to be a light utility for sending echo requests; currently in its early stages.
2//!
3//! ## Example
4//! ```rust,no_run
5//! use ekko::{ 
6//! 
7//!     EkkoResponse,
8//!     EkkoError,
9//!     Ekko,
10//! };
11//! 
12//! fn main() -> Result<(), EkkoError> {
13//!     let sender = Ekko::with_target([8, 8, 8, 8])?;
14//! 
15//!     for hops in 0..32 {
16//!         let responses = sender.send_range(0..hops)?;
17//!         for ekko in responses.iter() {
18//!             match ekko {
19//! 
20//!                 EkkoResponse::Destination(_) => {
21//!                     for ekko in responses.iter() {
22//!                         println!("{:?}", ekko)
23//!                     }
24//!     
25//!                     return Ok(()) 
26//!                 }
27//! 
28//!                 ekko => continue
29//!             }
30//!         }
31//!     }
32//! 
33//!     Ok(())
34//! }
35//! ```
36
37mod responses;
38mod packets;
39mod sender;
40mod error;
41
42pub use error::{EkkoError};
43
44pub use sender::{
45
46    EkkoSettings,
47    Ekko,
48};
49
50pub use responses::{
51
52    UnreachableCodeV6,
53    UnreachableCodeV4,
54    Unreachable,
55    Redirect,
56
57    EkkoResponse,
58    EkkoData,
59};