aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorache <ache@ache.one>2026-08-05 10:42:53 +0200
committerache <ache@ache.one>2026-08-05 10:42:53 +0200
commitafe403f273997dd309af82d5f6df4a765ea29e1b (patch)
tree778630158b364d4ceaa038fbb48d79bfc92410ff
parentFix line ends (diff)
Remove TTL reply
-rw-r--r--src/main.rs4
-rw-r--r--src/pinger.rs3
-rw-r--r--src/print.rs6
-rw-r--r--src/state.rs2
-rw-r--r--src/stats.rs19
5 files changed, 6 insertions, 28 deletions
diff --git a/src/main.rs b/src/main.rs
index d5e1588..a5996d4 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -74,9 +74,9 @@ async fn main() {
match rx.try_recv() {
// Update the state of the received packet
Ok(result) => match result {
- PingResult::Ping { rtt, ttl, id } => {
+ PingResult::Ping { rtt, id } => {
if (id as usize) < states.len() {
- states[id as usize] = State::Received { rtt, ttl };
+ states[id as usize] = State::Received { rtt };
}
}
PingResult::NoPingErr { id } => {
diff --git a/src/pinger.rs b/src/pinger.rs
index 3570ad1..12cad5d 100644
--- a/src/pinger.rs
+++ b/src/pinger.rs
@@ -5,7 +5,7 @@ use tokio::task;
pub enum PingResult {
NoPingErr { id: u32 },
- Ping { rtt: u64, ttl: u32, id: u32 },
+ Ping { rtt: u64, id: u32 },
}
pub fn spawn_ping(target: IpAddr, tx: Sender<PingResult>, id: u32) {
@@ -26,7 +26,6 @@ fn do_ping(target: IpAddr, id: u32) -> PingResult {
match result {
Ok(reply) => PingResult::Ping {
rtt: reply.rtt.as_millis() as u64,
- ttl: reply.ttl.unwrap_or(0) as u32,
id,
},
Err(_) => PingResult::NoPingErr { id },
diff --git a/src/print.rs b/src/print.rs
index 39a4382..de5e508 100644
--- a/src/print.rs
+++ b/src/print.rs
@@ -200,10 +200,9 @@ pub fn print_stats(stats: &Stats) {
let mad_rtt_rounded = stats.mad_rtt.round() as u64;
let mean_rtt_round = stats.avg_rtt.round() as u32;
- let mean_ttl_round = stats.avg_ttl.round() as u32;
println!(
- "{}/{} ({:.1}%) | ⌊{}⌋ ⌈{}⌉ [{}] [Δ{}]ms / ⌊{}⌋ ⌈{}⌉ [{}]{}",
+ "{}/{} ({:.1}%) | ⌊{}⌋ ⌈{}⌉ [{}] [Δ{}]ms{}",
stats.lost,
total,
percent_lost,
@@ -211,9 +210,6 @@ pub fn print_stats(stats: &Stats) {
stats.max_rtt,
mean_rtt_round,
mad_rtt_rounded,
- stats.min_ttl,
- stats.max_ttl,
- mean_ttl_round,
ERASE_LINE_END
);
}
diff --git a/src/state.rs b/src/state.rs
index fe1fa4a..10a227f 100644
--- a/src/state.rs
+++ b/src/state.rs
@@ -3,7 +3,7 @@ use std::time::{SystemTime, UNIX_EPOCH};
pub enum State {
NotYetReceived { time_sent: u64 },
SendError,
- Received { rtt: u64, ttl: u32 },
+ Received { rtt: u64 },
Lost,
}
diff --git a/src/stats.rs b/src/stats.rs
index db99fb4..3848d6b 100644
--- a/src/stats.rs
+++ b/src/stats.rs
@@ -10,16 +10,10 @@ pub struct Stats {
pub avg_rtt: f64,
/// Mean absolute difference (deviation) from the average
pub mad_rtt: f64,
-
- // Time To Live
- pub min_ttl: u32,
- pub max_ttl: u32,
- pub avg_ttl: f64,
}
pub fn compute_stats(states: &[crate::state::State]) -> Option<Stats> {
let mut rtts: Vec<u64> = Vec::new();
- let mut ttls: Vec<u32> = Vec::new();
let received = states
.iter()
@@ -32,9 +26,8 @@ pub fn compute_stats(states: &[crate::state::State]) -> Option<Stats> {
}
for state in states {
- if let crate::state::State::Received { rtt, ttl } = state {
+ if let crate::state::State::Received { rtt } = state {
rtts.push(*rtt);
- ttls.push(*ttl);
}
}
@@ -51,13 +44,6 @@ pub fn compute_stats(states: &[crate::state::State]) -> Option<Stats> {
.sum::<f64>()
/ rtts.len() as f64;
- // TTL stats
- let min_ttl = ttls.iter().min().copied().unwrap();
- let max_ttl = ttls.iter().max().copied().unwrap();
-
- let sum_ttl: u32 = ttls.iter().sum();
- let avg_ttl = sum_ttl as f64 / ttls.len() as f64;
-
Some(Stats {
received,
lost,
@@ -65,8 +51,5 @@ pub fn compute_stats(states: &[crate::state::State]) -> Option<Stats> {
max_rtt,
avg_rtt,
mad_rtt,
- min_ttl,
- max_ttl,
- avg_ttl,
})
}