improve format

This commit is contained in:
GroovieGermanikus 2024-07-25 15:10:14 +02:00
parent 743b35be88
commit f91bf0801a
No known key found for this signature in database
GPG Key ID: 5B6EB831A5CD2015
1 changed files with 11 additions and 10 deletions

View File

@ -14,7 +14,8 @@ use std::thread::sleep;
use std::time::Duration; use std::time::Duration;
use enum_iterator::Sequence; use enum_iterator::Sequence;
use itertools::Itertools; use itertools::Itertools;
use tokio::select; use tokio::{io, select};
use tokio::io::AsyncWriteExt;
use tokio::sync::mpsc::error::SendError; use tokio::sync::mpsc::error::SendError;
use tokio::time::Instant; use tokio::time::Instant;
use tokio_stream::StreamExt; use tokio_stream::StreamExt;
@ -109,9 +110,9 @@ async fn main() {
visualize_slots(&latest_slot_per_source).await; visualize_slots(&latest_slot_per_source).await;
if Instant::now().duration_since(started_at) > Duration::from_secs(10) { // if Instant::now().duration_since(started_at) > Duration::from_secs(10) {
break; // break;
} // }
} }
} }
@ -215,14 +216,11 @@ async fn visualize_slots(latest_slot_per_source: &HashMap<SlotSource, Slot>) {
.map(|check| (format!("{:?}", check), check)) .map(|check| (format!("{:?}", check), check))
.collect(); .collect();
let sorted_by_time: Vec<(&SlotSource, &Slot)> = latest_slot_per_source.iter().sorted_by_key(|(_, slot)| *slot).collect_vec(); let sorted_by_time: Vec<(&SlotSource, &Slot)> = latest_slot_per_source.iter().sorted_by_key(|(_, slot)| *slot).collect_vec();
let deltas = sorted_by_time.windows(2).map(|window| { let deltas = sorted_by_time.windows(2).map(|window| {
let (_source1, slot1) = window[0]; let (_source1, slot1) = window[0];
let (_source2, slot2) = window[1]; let (_source2, slot2) = window[1];
let diff = slot2 - slot1; slot2 - slot1
diff
}).collect_vec(); }).collect_vec();
for i in 0..(sorted_by_time.len() + deltas.len()) { for i in 0..(sorted_by_time.len() + deltas.len()) {
@ -231,10 +229,12 @@ async fn visualize_slots(latest_slot_per_source: &HashMap<SlotSource, Slot>) {
print!("{}({:?})", slot, source); print!("{}({:?})", slot, source);
} else { } else {
let edge = deltas.get(i / 2).unwrap().clone(); let edge = deltas.get(i / 2).unwrap().clone();
if edge > 0 { if edge == 0 {
print!(" = ");
} else if edge < 20 {
print!(" {} ", ".".repeat(edge as usize)); print!(" {} ", ".".repeat(edge as usize));
} else { } else {
print!(" = "); print!(" ...>>{}>>... ", edge);
} }
} }
} }
@ -250,5 +250,6 @@ async fn visualize_slots(latest_slot_per_source: &HashMap<SlotSource, Slot>) {
} }
println!(); println!();
// print!("{}[2K\r", 27 as char);
} }