From b2d4f1d436187e132a7182ed07c446ecfe32320c Mon Sep 17 00:00:00 2001 From: ache Date: Tue, 4 Aug 2026 17:17:36 +0200 Subject: Remove dead print_last_line --- src/main.rs | 18 +++++++++--------- src/print.rs | 44 ++++++++++---------------------------------- 2 files changed, 19 insertions(+), 43 deletions(-) diff --git a/src/main.rs b/src/main.rs index f6ac365..e2c179e 100644 --- a/src/main.rs +++ b/src/main.rs @@ -13,7 +13,7 @@ mod stats; use args::Args; use ip::parse_ip; use pinger::{spawn_ping, PingResult}; -use print::{print_last_ping_line, print_legende_line, print_ping_line, print_stats}; +use print::{print_legende_line, print_ping_line, print_stats}; use state::State; use stats::compute_stats; @@ -108,14 +108,14 @@ async fn main() { print_stats(&stats); } // Print stats of the last 30 pings - // let firstIndex = if states.len() - 30 > 0 { - // states.len() - 30 - // } else { - // 0 - // }; - // if let Some(stats) = compute_stats(&states[firstIndex..]) { - // print_stats(&stats); - // } + let firstIndex = if (states.len() as i32) - 30 > 0 { + states.len() - 30 + } else { + 0 + }; + if let Some(stats) = compute_stats(&states[firstIndex..]) { + print_stats(&stats); + } } diff --git a/src/print.rs b/src/print.rs index 89acffa..14dc80f 100644 --- a/src/print.rs +++ b/src/print.rs @@ -10,13 +10,14 @@ struct SymbolTableElement { } const GREEN_FG :&str = "\x1b[32m"; -const ORANGE_FG:&str = "\x1b[38;5;208m"; -const RED_FG:&str = "\x1b[31m"; -const BLACK_FG:&str = "\x1b[31m"; -const BLACK_BG:&str = "\x1b[40m"; -const GREEN_BG:&str = "\x1b[40m"; -const ORANGE_BG:&str = "\x1b[48;5;208m"; +const ORANGE_FG :&str = "\x1b[38;5;208m"; +const RED_FG :&str = "\x1b[31m"; +const BLACK_FG :&str = "\x1b[31m"; +const BLACK_BG :&str = "\x1b[40m"; +const GREEN_BG :&str = "\x1b[40m"; +const ORANGE_BG :&str = "\x1b[48;5;208m"; const RESET :&str= "\x1b[40m"; +const ERASE_LINE_END:&str = "\x1b[0K"; const CHARS_TABLE :[SymbolTableElement; 25] = [ SymbolTableElement{ fg: GREEN_FG, bg: BLACK_BG, character: "▁"}, @@ -85,32 +86,6 @@ pub fn print_ping_line(states: &Vec) { println!(""); } -pub fn print_last_ping_line(states: &[State], count: usize) { - let start_idx = if states.len() > count { states.len() - count } else { 0 }; - let slice = &states[start_idx..]; - for state in slice { - match state { - State::Received { rtt, .. } => { - let (fg, bg, symbol) = get_symbol_and_colors_for_rrt(*rtt); - print!("{}{}{}{}", fg, bg, symbol, "\x1b[0m"); - } - State::Lost => { - let (fg, bg, symbol) = get_symbol_and_colors_for_rrt(250); - print!("{}{}{}{}", fg, bg, symbol, "\x1b[0m"); - } - State::NotYetReceived { .. } => { - // fg grey, bg black - print!("\x1b[35;40m?\x1b[0m"); - } - State::SendError => { - print!("!"); - } - } - } - - println!(""); -} - fn get_symbol_and_colors_for_rrt(rrt: u64) -> (&'static str, &'static str, &'static str) { let index: usize = if rrt >= 240 { 24 @@ -135,7 +110,7 @@ pub fn print_stats(stats: &Stats) { let mean_ttl_round = stats.avg_ttl.round() as u32; println!( - "{}/{} ({:.1}%) | ⌊{}⌋ ⌈{}⌉ [{}] [Δ{}]ms / ⌊{}⌋ ⌈{}⌉ [{}]", + "{}/{} ({:.1}%) | ⌊{}⌋ ⌈{}⌉ [{}] [Δ{}]ms / ⌊{}⌋ ⌈{}⌉ [{}]{}", stats.lost, total, percent_lost, @@ -145,6 +120,7 @@ pub fn print_stats(stats: &Stats) { mad_rtt_rounded, stats.min_ttl, stats.max_ttl, - mean_ttl_round + mean_ttl_round, + ERASE_LINE_END ); } -- cgit v1.3-2-g11bf