From 8da38c061d9b50097e58d43cc669b20b02bf4580 Mon Sep 17 00:00:00 2001 From: ClementTsang Date: Sat, 7 Sep 2019 22:41:52 -0400 Subject: [PATCH] Finished network polling. --- src/main.rs | 8 ++++++++ src/widgets/network.rs | 13 ++++++++----- 2 files changed, 16 insertions(+), 5 deletions(-) diff --git a/src/main.rs b/src/main.rs index 7b25ff3e..62d409e1 100644 --- a/src/main.rs +++ b/src/main.rs @@ -17,10 +17,12 @@ async fn main() -> Result<(), Box> { let mut list_of_timed_memory : Vec = Vec::new(); let mut list_of_timed_swap : Vec = Vec::new(); let mut list_of_timed_temperature : Vec = Vec::new(); + let mut list_of_timed_network : Vec = Vec::new(); loop { println!("Start data loop..."); sys.refresh_system(); + sys.refresh_network(); // TODO: Get data, potentially store? Use a result to check! let list_of_processes = processes::get_sorted_processes_list(processes::ProcessSorting::CPU, true).await; @@ -82,6 +84,12 @@ async fn main() -> Result<(), Box> { } } + list_of_timed_network.push(network::get_network_data(&sys)); + if !list_of_timed_network.is_empty() { + let current_network = list_of_timed_network.last().unwrap(); + println!("Network: {} rx, {} tx at {:?}", current_network.rx, current_network.tx, current_network.time); + } + // Send to drawing module println!("End data loop..."); window::draw_terminal(); diff --git a/src/widgets/network.rs b/src/widgets/network.rs index 6b9c54a9..0f500ff5 100644 --- a/src/widgets/network.rs +++ b/src/widgets/network.rs @@ -1,13 +1,16 @@ +use sysinfo::{NetworkExt, System, SystemExt}; + pub struct TimedNetworkData { - pub rx : u32, - pub tx : u32, + pub rx : u64, + pub tx : u64, pub time : std::time::SystemTime, } -pub fn get_network_data() -> TimedNetworkData { +pub fn get_network_data(sys : &System) -> TimedNetworkData { + let network_data = sys.get_network(); TimedNetworkData { - rx : 0, - tx : 0, + rx : network_data.get_income(), + tx : network_data.get_outcome(), time : std::time::SystemTime::now(), } }