pub struct Ping {Show 13 fields
pub max_rtt: Arc<Duration>,
pub addresses: Arc<Mutex<BTreeMap<AddressToBePinged, (bool, u64, u64, u16, Instant)>>>,
pub size: usize,
pub results_sender: Sender<PingResult>,
pub transport_tx: Arc<Mutex<TransportSender>>,
pub transport_rx: Arc<Mutex<TransportReceiver>>,
pub transport_txv6: Arc<Mutex<TransportSender>>,
pub transport_rxv6: Arc<Mutex<TransportReceiver>>,
pub tx: Sender<PingResult>,
pub rx: Arc<Mutex<Receiver<PingResult>>>,
pub timer: Arc<RwLock<Instant>>,
pub run: Arc<Mutex<bool>>,
pub receive_time_out: Arc<usize>,
}Expand description
This struct stores all needed data for performing ping task.
Fields§
§max_rtt: Arc<Duration>§addresses: Arc<Mutex<BTreeMap<AddressToBePinged, (bool, u64, u64, u16, Instant)>>>§size: usize§results_sender: Sender<PingResult>§transport_tx: Arc<Mutex<TransportSender>>§transport_rx: Arc<Mutex<TransportReceiver>>§transport_txv6: Arc<Mutex<TransportSender>>§transport_rxv6: Arc<Mutex<TransportReceiver>>§tx: Sender<PingResult>§rx: Arc<Mutex<Receiver<PingResult>>>§timer: Arc<RwLock<Instant>>§run: Arc<Mutex<bool>>§receive_time_out: Arc<usize>Implementations§
source§impl Ping
impl Ping
This block implements Ping struct.
sourcepub fn new(
receive_time_out: Option<usize>,
max_rtt: Option<u16>,
size: Option<usize>
) -> PingRes
pub fn new(
receive_time_out: Option<usize>,
max_rtt: Option<u16>,
size: Option<usize>
) -> PingRes
Creates new Ping and returns PingRes. It requiers root privileges.
sourcepub fn add_address(&self, addr: IpAddr)
pub fn add_address(&self, addr: IpAddr)
This function adds hosts to be pinged. You can add new hosts even when other hosts are being pinged.
sourcepub fn start_listening(&self)
pub fn start_listening(&self)
This function is responsible for listening for ICMP ECHO REPLIES.