diff options
Diffstat (limited to 'src/print.rs')
| -rw-r--r-- | src/print.rs | 44 |
1 files changed, 10 insertions, 34 deletions
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<State>) { 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 ); } |