diff --git a/src/manager.rs b/src/manager.rs index dca414d..017c3aa 100644 --- a/src/manager.rs +++ b/src/manager.rs @@ -3,6 +3,7 @@ use std::process::Command; use std::sync::mpsc::Sender; use std::thread; use std::time::{Duration, SystemTime}; +use ping_rs::send_ping; use crate::ping_request::PingRequest; use crate::ping_result::PingResult; use crate::SECONDS_BETWEEN_PING; @@ -34,21 +35,22 @@ impl Manager { let target_address = IpAddr::from(request.target); - let options = ping_rs::PingOptions { ttl: 128, dont_fragment: true }; + let options = ping_rs::PingOptions { ttl: 128, dont_fragment: false }; let data = [1,2,3,4]; - let result = ping_rs::send_ping(&target_address, Duration::from_secs(10), &data, Some(&options)); + let result = send_ping(&target_address, Duration::from_secs(10), &data, Some(&options)); let ping_duration = SystemTime::now() .duration_since(start_time) .unwrap_or(Duration::from_secs(600)); - let success = if let Ok(result) = result { - println!("SUCCESS FOR {}", &target_address); - true - } else { - println!("Failure for {}", &target_address); - false + let success = match &result { + Ok(reply) => { + println!("Good reply -> {}/{}/{}", reply.address, data.len(), reply.rtt); + true + }, + Err(e) => { println!("ERROR {:?}", e); false } }; + sender.send(PingResult { target: local_request.target, success,