summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorsigmaSd <bedisnbiba@gmail.com>2020-07-13 16:15:23 +0200
committerGitHub <noreply@github.com>2020-07-13 16:15:23 +0200
commit5bc35a4217c09d5cfe47654a63ccf20966cba2d8 (patch)
tree02036cfea86f1d50ba6d2e6cf6a348089e5cc84a
parent2b4bf440cb9f4bce46e56a41b9b0a9122ef77040 (diff)
fix(rawmode): honor RenderOpts flag when using raw mode (#174)
-rw-r--r--src/display/ui.rs86
1 files changed, 55 insertions, 31 deletions
diff --git a/src/display/ui.rs b/src/display/ui.rs
index 6361a7f..ce96aa1 100644
--- a/src/display/ui.rs
+++ b/src/display/ui.rs
@@ -45,39 +45,63 @@ where
let ip_to_host = &self.ip_to_host;
let local_time: DateTime<Local> = Local::now();
let timestamp = local_time.timestamp();
- for (process, process_network_data) in &state.processes {
- write_to_stdout(format!(
- "process: <{}> \"{}\" up/down Bps: {}/{} connections: {}",
- timestamp,
- process,
- process_network_data.total_bytes_uploaded,
- process_network_data.total_bytes_downloaded,
- process_network_data.connection_count
- ));
+
+ let output_process_data = |write_to_stdout: &mut (dyn FnMut(String) + Send)| {
+ for (process, process_network_data) in &state.processes {
+ write_to_stdout(format!(
+ "process: <{}> \"{}\" up/down Bps: {}/{} connections: {}",
+ timestamp,
+ process,
+ process_network_data.total_bytes_uploaded,
+ process_network_data.total_bytes_downloaded,
+ process_network_data.connection_count
+ ));
+ }
+ };
+
+ let output_connections_data = |write_to_stdout: &mut (dyn FnMut(String) + Send)| {
+ for (connection, connection_network_data) in &state.connections {
+ write_to_stdout(format!(
+ "connection: <{}> {} up/down Bps: {}/{} process: \"{}\"",
+ timestamp,
+ display_connection_string(
+ connection,
+ ip_to_host,
+ &connection_network_data.interface_name,
+ ),
+ connection_network_data.total_bytes_uploaded,
+ connection_network_data.total_bytes_downloaded,
+ connection_network_data.process_name
+ ));
+ }
+ };
+
+ let output_adressess_data = |write_to_stdout: &mut (dyn FnMut(String) + Send)| {
+ for (remote_address, remote_address_network_data) in &state.remote_addresses {
+ write_to_stdout(format!(
+ "remote_address: <{}> {} up/down Bps: {}/{} connections: {}",
+ timestamp,
+ display_ip_or_host(*remote_address, ip_to_host),
+ remote_address_network_data.total_bytes_uploaded,
+ remote_address_network_data.total_bytes_downloaded,
+ remote_address_network_data.connection_count
+ ));
+ }
+ };
+
+ if self.opts.processes {
+ output_process_data(write_to_stdout);
}
- for (connection, connection_network_data) in &state.connections {
- write_to_stdout(format!(
- "connection: <{}> {} up/down Bps: {}/{} process: \"{}\"",
- timestamp,
- display_connection_string(
- connection,
- ip_to_host,
- &connection_network_data.interface_name,
- ),
- connection_network_data.total_bytes_uploaded,
- connection_network_data.total_bytes_downloaded,
- connection_network_data.process_name
- ));
+ if self.opts.connections {
+ output_connections_data(write_to_stdout);
}
- for (remote_address, remote_address_network_data) in &state.remote_addresses {
- write_to_stdout(format!(
- "remote_address: <{}> {} up/down Bps: {}/{} connections: {}",
- timestamp,
- display_ip_or_host(*remote_address, ip_to_host),
- remote_address_network_data.total_bytes_uploaded,
- remote_address_network_data.total_bytes_downloaded,
- remote_address_network_data.connection_count
- ));
+ if self.opts.addresses {
+ output_adressess_data(write_to_stdout);
+ }
+ if !(self.opts.processes || self.opts.connections || self.opts.addresses) {
+ output_process_data(write_to_stdout);
+ output_connections_data(write_to_stdout);
+ output_adressess_data(write_to_stdout);
}
}