diff options
author | Clement Tsang <34804052+ClementTsang@users.noreply.github.com> | 2020-12-15 18:34:45 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-12-15 21:34:45 -0500 |
commit | 49cfc75aca75ccda53f1dd40be584f82094389fb (patch) | |
tree | 9bf67d5926b4dce7bd5c39aa7aed17da5b9772a9 /src | |
parent | 7272786e86955eec4a288c56f43402b379ff6eb2 (diff) |
deps: Update to heim 0.1 (#354)
Diffstat (limited to 'src')
-rw-r--r-- | src/app/data_harvester.rs | 10 | ||||
-rw-r--r-- | src/app/data_harvester/disks.rs | 18 | ||||
-rw-r--r-- | src/app/data_harvester/network.rs | 19 | ||||
-rw-r--r-- | src/app/data_harvester/temperature.rs | 4 |
4 files changed, 30 insertions, 21 deletions
diff --git a/src/app/data_harvester.rs b/src/app/data_harvester.rs index d7989c37..7f25539a 100644 --- a/src/app/data_harvester.rs +++ b/src/app/data_harvester.rs @@ -337,10 +337,12 @@ impl DataCollector { temp_data_fut ); - if let Some(net_data) = net_data { - self.total_rx = net_data.total_rx; - self.total_tx = net_data.total_tx; - self.data.network = Some(net_data); + if let Ok(net_data) = net_data { + if let Some(net_data) = &net_data { + self.total_rx = net_data.total_rx; + self.total_tx = net_data.total_tx; + } + self.data.network = net_data; } if let Ok(memory) = mem_res.0 { diff --git a/src/app/data_harvester/disks.rs b/src/app/data_harvester/disks.rs index 2d606c14..294288a0 100644 --- a/src/app/data_harvester/disks.rs +++ b/src/app/data_harvester/disks.rs @@ -1,6 +1,3 @@ -#[cfg(not(any(target_arch = "aarch64", target_arch = "arm")))] -use futures::stream::StreamExt; - #[derive(Debug, Clone, Default)] pub struct DiskHarvest { pub name: String, @@ -67,10 +64,14 @@ pub async fn get_io_usage( return Ok(None); } + use futures::StreamExt; + let mut io_hash: std::collections::HashMap<String, Option<IOData>> = std::collections::HashMap::new(); if get_physical { - let mut physical_counter_stream = heim::disk::io_counters_physical(); + let physical_counter_stream = heim::disk::io_counters_physical().await?; + futures::pin_mut!(physical_counter_stream); + while let Some(io) = physical_counter_stream.next().await { if let Ok(io) = io { let mount_point = io.device_name().to_str().unwrap_or("Name Unavailable"); @@ -84,7 +85,9 @@ pub async fn get_io_usage( } } } else { - let mut counter_stream = heim::disk::io_counters(); + let counter_stream = heim::disk::io_counters().await?; + futures::pin_mut!(counter_stream); + while let Some(io) = counter_stream.next().await { if let Ok(io) = io { let mount_point = io.device_name().to_str().unwrap_or("Name Unavailable"); @@ -110,8 +113,11 @@ pub async fn get_disk_usage( return Ok(None); } + use futures::StreamExt; + let mut vec_disks: Vec<DiskHarvest> = Vec::new(); - let mut partitions_stream = heim::disk::partitions_physical(); + let partitions_stream = heim::disk::partitions_physical().await?; + futures::pin_mut!(partitions_stream); while let Some(part) = partitions_stream.next().await { if let Ok(part) = part { diff --git a/src/app/data_harvester/network.rs b/src/app/data_harvester/network.rs index 9836cfb0..37c8b46c 100644 --- a/src/app/data_harvester/network.rs +++ b/src/app/data_harvester/network.rs @@ -19,11 +19,11 @@ impl NetworkHarvest { pub async fn get_network_data( sys: &sysinfo::System, prev_net_access_time: Instant, prev_net_rx: &mut u64, prev_net_tx: &mut u64, curr_time: Instant, actually_get: bool, -) -> Option<NetworkHarvest> { +) -> crate::utils::error::Result<Option<NetworkHarvest>> { use sysinfo::{NetworkExt, SystemExt}; if !actually_get { - return None; + return Ok(None); } let mut total_rx: u64 = 0; @@ -48,26 +48,27 @@ pub async fn get_network_data( *prev_net_rx = total_rx; *prev_net_tx = total_tx; - Some(NetworkHarvest { + Ok(Some(NetworkHarvest { rx, tx, total_rx, total_tx, - }) + })) } #[cfg(not(any(target_os = "windows", target_arch = "aarch64", target_arch = "arm")))] pub async fn get_network_data( prev_net_access_time: Instant, prev_net_rx: &mut u64, prev_net_tx: &mut u64, curr_time: Instant, actually_get: bool, -) -> Option<NetworkHarvest> { +) -> crate::utils::error::Result<Option<NetworkHarvest>> { use futures::StreamExt; if !actually_get { - return None; + return Ok(None); } - let mut io_data = heim::net::io_counters(); + let io_data = heim::net::io_counters().await?; + futures::pin_mut!(io_data); let mut total_rx: u64 = 0; let mut total_tx: u64 = 0; @@ -91,10 +92,10 @@ pub async fn get_network_data( *prev_net_rx = total_rx; *prev_net_tx = total_tx; - Some(NetworkHarvest { + Ok(Some(NetworkHarvest { rx, tx, total_rx, total_tx, - }) + })) } diff --git a/src/app/data_harvester/temperature.rs b/src/app/data_harvester/temperature.rs index c3925ceb..470b1dbb 100644 --- a/src/app/data_harvester/temperature.rs +++ b/src/app/data_harvester/temperature.rs @@ -64,6 +64,7 @@ pub async fn get_temperature_data( temp_type: &TemperatureType, actually_get: bool, ) -> crate::utils::error::Result<Option<Vec<TempHarvest>>> { use futures::StreamExt; + use heim::units::thermodynamic_temperature; if !actually_get { return Ok(None); @@ -71,8 +72,7 @@ pub async fn get_temperature_data( let mut temperature_vec: Vec<TempHarvest> = Vec::new(); - use heim::units::thermodynamic_temperature; - let mut sensor_data = heim::sensors::temperatures(); + let mut sensor_data = heim::sensors::temperatures().boxed_local(); while let Some(sensor) = sensor_data.next().await { if let Ok(sensor) = sensor { temperature_vec.push(TempHarvest { |