SYMBOL INDEX (284 symbols across 28 files) FILE: build.rs function main (line 8) | fn main() { function build_completion_manpage (line 17) | fn build_completion_manpage() -> eyre::Result<()> { function download_windows_npcap_sdk (line 40) | fn download_windows_npcap_sdk() -> eyre::Result<()> { FILE: src/cli.rs type Opt (line 10) | pub struct Opt { type RenderOpts (line 43) | pub struct RenderOpts { type UnitFamily (line 68) | pub enum UnitFamily { FILE: src/display/components/display_bandwidth.rs type DisplayBandwidth (line 8) | pub struct DisplayBandwidth { method fmt (line 18) | fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { type BandwidthUnitFamily (line 27) | pub struct BandwidthUnitFamily(UnitFamily); method from (line 29) | fn from(value: UnitFamily) -> Self { method steps (line 38) | fn steps(&self) -> [(f64, f64, &'static str); 6] { method get_unit_for (line 83) | fn get_unit_for(&self, bytes: f64) -> (f64, &'static str) { function bandwidth_formatting (line 107) | fn bandwidth_formatting() { FILE: src/display/components/header_details.rs function elapsed_time (line 14) | pub fn elapsed_time(last_start_time: Instant, cumulative_time: Duration,... function format_duration (line 22) | fn format_duration(d: Duration) -> String { type HeaderDetails (line 37) | pub struct HeaderDetails<'a> { function render (line 44) | pub fn render(&self, frame: &mut Frame, rect: Rect) { function render_bandwidth (line 65) | fn render_bandwidth(&self, frame: &mut Frame, rect: Rect, bandwidth: &st... function bandwidth_string (line 75) | fn bandwidth_string(&self) -> String { function render_elapsed_time (line 95) | fn render_elapsed_time(&self, frame: &mut Frame, rect: Rect, elapsed_tim... FILE: src/display/components/help_text.rs type HelpText (line 9) | pub struct HelpText { method render (line 24) | pub fn render(&self, frame: &mut Frame, rect: Rect) { constant FIRST_WIDTH_BREAKPOINT (line 14) | const FIRST_WIDTH_BREAKPOINT: u16 = 76; constant SECOND_WIDTH_BREAKPOINT (line 15) | const SECOND_WIDTH_BREAKPOINT: u16 = 54; constant TEXT_WHEN_PAUSED (line 17) | const TEXT_WHEN_PAUSED: &str = " Press to resume."; constant TEXT_WHEN_NOT_PAUSED (line 18) | const TEXT_WHEN_NOT_PAUSED: &str = " Press to pause."; constant TEXT_WHEN_DNS_NOT_SHOWN (line 19) | const TEXT_WHEN_DNS_NOT_SHOWN: &str = " (DNS queries hidden)."; constant TEXT_WHEN_DNS_SHOWN (line 20) | const TEXT_WHEN_DNS_SHOWN: &str = " (DNS queries shown)."; constant TEXT_TAB_TIP (line 21) | const TEXT_TAB_TIP: &str = " Use to rearrange tables."; FILE: src/display/components/layout.rs constant FIRST_HEIGHT_BREAKPOINT (line 8) | const FIRST_HEIGHT_BREAKPOINT: u16 = 30; constant FIRST_WIDTH_BREAKPOINT (line 9) | const FIRST_WIDTH_BREAKPOINT: u16 = 120; function top_app_and_bottom_split (line 11) | fn top_app_and_bottom_split(rect: Rect) -> (Rect, Rect, Rect) { type Layout (line 27) | pub struct Layout<'a> { function progressive_split (line 34) | fn progressive_split(&self, rect: Rect, splits: Vec) -> Vec Vec { function build_three_children_layout (line 63) | fn build_three_children_layout(&self, rect: Rect) -> Vec { function build_layout (line 91) | fn build_layout(&self, rect: Rect) -> Vec { function render (line 102) | pub fn render(&self, frame: &mut Frame, rect: Rect, table_cycle_offset: ... FILE: src/display/components/table.rs type DisplayLayout (line 26) | pub enum DisplayLayout { type Output (line 36) | type Output = u16; method index (line 38) | fn index(&self, i: usize) -> &Self::Output { method columns_count (line 49) | fn columns_count(&self) -> usize { method iter (line 58) | fn iter(&self) -> impl Iterator { method widths_sum (line 67) | fn widths_sum(&self) -> u16 { method compute_actual_widths (line 74) | fn compute_actual_widths(&self, available: u16) -> (Self, u16) { type TableData (line 122) | enum TableData { method from (line 130) | fn from(data: NColsTableData<3>) -> Self { method from (line 136) | fn from(data: NColsTableData<4>) -> Self { method column_names (line 142) | fn column_names(&self) -> &[&str] { method rows (line 149) | fn rows(&self) -> Vec<&[String]> { method column_selector (line 156) | fn column_selector(&self) -> &dyn Fn(&DisplayLayout) -> Vec { type NColsTableData (line 169) | struct NColsTableData { type ColumnSelectorFn (line 183) | type ColumnSelectorFn = dyn Fn(&DisplayLayout) -> Vec; type Table (line 187) | pub struct Table { method create_connections_table (line 204) | pub fn create_connections_table(state: &UIState, ip_to_host: &HashMap<... method create_processes_table (line 261) | pub fn create_processes_table(state: &UIState) -> Self { method create_remote_addresses_table (line 316) | pub fn create_remote_addresses_table( method render (line 374) | pub fn render(&self, frame: &mut Frame, rect: Rect) { function display_upload_and_download (line 423) | fn display_upload_and_download( function collect_to_unicode_width (line 439) | fn collect_to_unicode_width(iter: impl Iterator, width: ... function truncate_middle (line 451) | fn truncate_middle(row: &str, max_len: u16) -> String { FILE: src/display/raw_terminal_backend.rs type RawTerminalBackend (line 19) | pub struct RawTerminalBackend {} method clear (line 22) | fn clear(&mut self) -> io::Result<()> { method hide_cursor (line 26) | fn hide_cursor(&mut self) -> io::Result<()> { method show_cursor (line 30) | fn show_cursor(&mut self) -> io::Result<()> { method get_cursor_position (line 34) | fn get_cursor_position(&mut self) -> io::Result { method set_cursor_position (line 38) | fn set_cursor_position>(&mut self, _position: P) -> io... method draw (line 42) | fn draw<'a, I>(&mut self, _content: I) -> io::Result<()> method size (line 49) | fn size(&self) -> io::Result { method window_size (line 53) | fn window_size(&mut self) -> io::Result { method flush (line 60) | fn flush(&mut self) -> io::Result<()> { FILE: src/display/ui.rs type Ui (line 16) | pub struct Ui function new (line 30) | pub fn new(terminal_backend: B, opts: &Opt) -> Self { function output_text (line 49) | pub fn output_text(&mut self, write_to_stdout: &mut (dyn FnMut(&str) + S... function draw (line 130) | pub fn draw(&mut self, paused: bool, elapsed_time: Duration, table_cycle... function get_tables_to_display (line 148) | fn get_tables_to_display(&self) -> Vec { function get_table_count (line 176) | pub fn get_table_count(&self) -> usize { function update_state (line 180) | pub fn update_state( function end (line 189) | pub fn end(&mut self) { FILE: src/display/ui_state.rs type Bandwidth (line 19) | pub trait Bandwidth { method get_total_bytes_downloaded (line 20) | fn get_total_bytes_downloaded(&self) -> u128; method get_total_bytes_uploaded (line 21) | fn get_total_bytes_uploaded(&self) -> u128; method combine_bandwidth (line 22) | fn combine_bandwidth(&mut self, other: &Self); method divide_by (line 23) | fn divide_by(&mut self, amount: u128); method get_total_bytes_downloaded (line 42) | fn get_total_bytes_downloaded(&self) -> u128 { method get_total_bytes_uploaded (line 45) | fn get_total_bytes_uploaded(&self) -> u128 { method combine_bandwidth (line 48) | fn combine_bandwidth(&mut self, other: &NetworkData) { method divide_by (line 53) | fn divide_by(&mut self, amount: u128) { method get_total_bytes_downloaded (line 60) | fn get_total_bytes_downloaded(&self) -> u128 { method get_total_bytes_uploaded (line 63) | fn get_total_bytes_uploaded(&self) -> u128 { method combine_bandwidth (line 66) | fn combine_bandwidth(&mut self, other: &ConnectionData) { method divide_by (line 70) | fn divide_by(&mut self, amount: u128) { type NetworkData (line 27) | pub struct NetworkData { type ConnectionData (line 34) | pub struct ConnectionData { type UtilizationData (line 76) | pub struct UtilizationData { type UIState (line 82) | pub struct UIState { method update (line 102) | pub fn update( function get_proc_info (line 230) | fn get_proc_info<'a>( function merge_bandwidth (line 263) | fn merge_bandwidth(self_map: &mut HashMap, other_map: HashMa... function sort_and_prune (line 276) | fn sort_and_prune(map: &mut HashMap) -> Vec<(K, V)> FILE: src/main.rs constant DISPLAY_DELTA (line 39) | const DISPLAY_DELTA: Duration = Duration::from_millis(1000); function main (line 41) | fn main() -> eyre::Result<()> { type OpenSockets (line 82) | pub struct OpenSockets { type OsInputOutput (line 86) | pub struct OsInputOutput { function start (line 94) | pub fn start(terminal_backend: B, os_input: OsInputOutput, opts: Opt) FILE: src/network/connection.rs type Protocol (line 8) | pub enum Protocol { method from_str (line 15) | pub fn from_str(string: &str) -> Option { method fmt (line 25) | fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { type Socket (line 34) | pub struct Socket { method fmt (line 40) | fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { type LocalSocket (line 50) | pub struct LocalSocket { method fmt (line 57) | fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { type Connection (line 67) | pub struct Connection { method fmt (line 73) | fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { method new (line 104) | pub fn new( function display_ip_or_host (line 82) | pub fn display_ip_or_host(ip: IpAddr, ip_to_host: &HashMap; constant CHANNEL_SIZE (line 17) | const CHANNEL_SIZE: usize = 1_000; type Client (line 19) | pub struct Client { method new (line 27) | pub fn new(resolver: R, runtime: Runtime) -> eyre::Result method resolve (line 70) | pub fn resolve(&mut self, ips: Vec) { method cache (line 83) | pub fn cache(&mut self) -> IpTable { method drop (line 90) | fn drop(&mut self) { FILE: src/network/dns/mod.rs type IpTable (line 9) | pub type IpTable = HashMap; FILE: src/network/dns/resolver.rs type Lookup (line 11) | pub trait Lookup { method lookup (line 12) | async fn lookup(&self, ip: IpAddr) -> Option; method lookup (line 42) | async fn lookup(&self, ip: IpAddr) -> Option { type Resolver (line 15) | pub struct Resolver(TokioAsyncResolver); method new (line 18) | pub async fn new(dns_server: Option) -> eyre::Result { FILE: src/network/sniffer.rs constant PACKET_WAIT_TIMEOUT (line 27) | const PACKET_WAIT_TIMEOUT: Duration = Duration::from_millis(10); constant CHANNEL_RESET_DELAY (line 28) | const CHANNEL_RESET_DELAY: Duration = Duration::from_millis(1000); type Segment (line 31) | pub struct Segment { type Direction (line 39) | pub enum Direction { method new (line 45) | pub fn new(network_interface_ips: &[IpNetwork], source: IpAddr) -> Self { type NextLevelProtocol (line 57) | trait NextLevelProtocol { method get_next_level_protocol (line 58) | fn get_next_level_protocol(&self) -> IpNextHeaderProtocol; method get_next_level_protocol (line 62) | fn get_next_level_protocol(&self) -> IpNextHeaderProtocol { type Sniffer (line 93) | pub struct Sniffer { method new (line 100) | pub fn new( method next (line 111) | pub fn next(&mut self) -> Option { method reset_channel (line 162) | pub fn reset_channel(&mut self) -> Result<()> { method handle_v6 (line 167) | fn handle_v6(ip_packet: Ipv6Packet, network_interface: &NetworkInterfa... method handle_v4 (line 187) | fn handle_v4( FILE: src/network/utilization.rs type ConnectionInfo (line 6) | pub struct ConnectionInfo { type Utilization (line 13) | pub struct Utilization { method new (line 18) | pub fn new() -> Self { method clone_and_reset (line 22) | pub fn clone_and_reset(&mut self) -> Self { method ingest (line 27) | pub fn ingest(&mut self, seg: Segment) { FILE: src/os/errors.rs type GetInterfaceError (line 2) | pub enum GetInterfaceError { FILE: src/os/linux.rs function get_open_sockets (line 11) | pub(crate) fn get_open_sockets() -> OpenSockets { FILE: src/os/lsof.rs function get_open_sockets (line 3) | pub(crate) fn get_open_sockets() -> OpenSockets { FILE: src/os/lsof_utils.rs type RawConnection (line 14) | pub struct RawConnection { method new (line 32) | pub fn new(raw_line: &str) -> Option { method get_protocol (line 110) | pub fn get_protocol(&self) -> Option { method get_local_ip (line 114) | pub fn get_local_ip(&self) -> Option { method get_local_port (line 118) | pub fn get_local_port(&self) -> Option { method as_local_socket (line 122) | pub fn as_local_socket(&self) -> Option { function get_null_addr (line 23) | fn get_null_addr(ip_type: &str) -> &str { function get_connections (line 142) | pub fn get_connections() -> RawConnections { function run (line 147) | fn run(args: I) -> String type RawConnections (line 160) | pub struct RawConnections { method new (line 165) | pub fn new(content: String) -> RawConnections { type Item (line 173) | type Item = RawConnection; method next (line 175) | fn next(&mut self) -> Option { constant IPV6_LINE_RAW_OUTPUT (line 184) | const IPV6_LINE_RAW_OUTPUT: &str = "ProcessName 29266 user 9u IP... constant LINE_RAW_OUTPUT (line 185) | const LINE_RAW_OUTPUT: &str = "ProcessName 29266 user 39u IPv4 0x28ff... constant FULL_RAW_OUTPUT (line 186) | const FULL_RAW_OUTPUT: &str = r#" function test_iterator_multiline (line 194) | fn test_iterator_multiline() { function test_raw_connection_is_created_from_raw_output_ipv4 (line 201) | fn test_raw_connection_is_created_from_raw_output_ipv4() { function test_raw_connection_is_created_from_raw_output_ipv6 (line 205) | fn test_raw_connection_is_created_from_raw_output_ipv6() { function test_raw_connection_is_created_from_raw_output (line 208) | fn test_raw_connection_is_created_from_raw_output(raw_output: &str) { function test_raw_connection_is_not_created_from_wrong_raw_output (line 214) | fn test_raw_connection_is_not_created_from_wrong_raw_output() { function test_raw_connection_parse_local_port_ipv4 (line 220) | fn test_raw_connection_parse_local_port_ipv4() { function test_raw_connection_parse_local_port_ipv6 (line 224) | fn test_raw_connection_parse_local_port_ipv6() { function test_raw_connection_parse_local_port (line 227) | fn test_raw_connection_parse_local_port(raw_output: &str) { function test_raw_connection_parse_protocol_ipv4 (line 233) | fn test_raw_connection_parse_protocol_ipv4() { function test_raw_connection_parse_protocol_ipv6 (line 237) | fn test_raw_connection_parse_protocol_ipv6() { function test_raw_connection_parse_protocol (line 240) | fn test_raw_connection_parse_protocol(raw_line: &str) { function test_raw_connection_parse_process_name_ipv4 (line 246) | fn test_raw_connection_parse_process_name_ipv4() { function test_raw_connection_parse_process_name_ipv6 (line 250) | fn test_raw_connection_parse_process_name_ipv6() { function test_raw_connection_parse_process_name (line 253) | fn test_raw_connection_parse_process_name(raw_line: &str) { FILE: src/os/shared.rs type ProcessInfo (line 24) | pub struct ProcessInfo { method new (line 30) | pub fn new(name: &str, pid: u32) -> Self { constant POLL_TIMEOUT (line 41) | const POLL_TIMEOUT: Duration = Duration::from_millis(100); type TerminalEvents (line 43) | pub struct TerminalEvents; type Item (line 46) | type Item = Event; method next (line 52) | fn next(&mut self) -> Option { function get_datalink_channel (line 60) | pub(crate) fn get_datalink_channel( function get_interface (line 87) | fn get_interface(interface_name: &str) -> Option { function create_write_to_stdout (line 93) | fn create_write_to_stdout() -> Box { function get_input (line 108) | pub fn get_input( function eperm_message (line 234) | fn eperm_message() -> &'static str { function eperm_message (line 240) | fn eperm_message() -> &'static str { function eperm_message (line 254) | fn eperm_message() -> &'static str { FILE: src/os/windows.rs function get_open_sockets (line 12) | pub(crate) fn get_open_sockets() -> OpenSockets { FILE: src/tests/cases/raw_mode.rs function build_ip_tcp_packet (line 25) | fn build_ip_tcp_packet( function format_raw_stdout (line 42) | fn format_raw_stdout(raw: &Mutex>) -> String { function one_ip_packet_of_traffic (line 51) | fn one_ip_packet_of_traffic() { function one_packet_of_traffic (line 68) | fn one_packet_of_traffic() { function bi_directional_traffic (line 85) | fn bi_directional_traffic() { function multiple_packets_of_traffic_from_different_connections (line 111) | fn multiple_packets_of_traffic_from_different_connections() { function multiple_packets_of_traffic_from_single_connection (line 137) | fn multiple_packets_of_traffic_from_single_connection() { function one_process_with_multiple_connections (line 163) | fn one_process_with_multiple_connections() { function multiple_processes_with_multiple_connections (line 189) | fn multiple_processes_with_multiple_connections() { function multiple_connections_from_remote_address (line 229) | fn multiple_connections_from_remote_address() { function sustained_traffic_from_one_process (line 256) | fn sustained_traffic_from_one_process() { function sustained_traffic_from_multiple_processes (line 284) | fn sustained_traffic_from_multiple_processes() { function sustained_traffic_from_multiple_processes_bi_directional (line 326) | fn sustained_traffic_from_multiple_processes_bi_directional() { function traffic_with_host_names (line 396) | fn traffic_with_host_names() { function no_resolve_mode (line 479) | fn no_resolve_mode() { FILE: src/tests/cases/test_utils.rs function sleep_and_quit_events (line 25) | pub fn sleep_and_quit_events(sleep_num: usize) -> Box { function sleep_resize_and_quit_events (line 35) | pub fn sleep_resize_and_quit_events(sleep_num: usize) -> Box Vec> { function sample_frames_sustained_one_process (line 94) | pub fn sample_frames_sustained_one_process() -> Vec Vec Vec> { function os_input_output (line 212) | pub fn os_input_output( function os_input_output_stdout (line 223) | pub fn os_input_output_stdout( function os_input_output_dns (line 236) | pub fn os_input_output_dns( function os_input_output_factory (line 250) | pub fn os_input_output_factory( function opts_raw (line 277) | pub fn opts_raw() -> Opt { function opts_ui (line 284) | pub fn opts_ui() -> Opt { type BackendWithStreams (line 291) | type BackendWithStreams = ( function test_backend_factory (line 296) | pub fn test_backend_factory(w: u16, h: u16) -> BackendWithStreams { FILE: src/tests/cases/ui.rs constant SNAPSHOT_SECTION_SEPARATOR (line 27) | const SNAPSHOT_SECTION_SEPARATOR: &str = "\n--- SECTION SEPARATOR ---\n"; function basic_startup (line 30) | fn basic_startup() { function pause_by_space (line 48) | fn pause_by_space() { function rearranged_by_tab (line 95) | fn rearranged_by_tab() { function basic_only_processes (line 142) | fn basic_only_processes() { function basic_processes_with_dns_queries (line 165) | fn basic_processes_with_dns_queries() { function basic_only_connections (line 189) | fn basic_only_connections() { function basic_only_addresses (line 212) | fn basic_only_addresses() { function two_packets_only_processes (line 235) | fn two_packets_only_processes(frames: Vec>) { function two_packets_only_connections (line 254) | fn two_packets_only_connections(frames: Vec>) { function two_packets_only_addresses (line 273) | fn two_packets_only_addresses(frames: Vec>) { function two_windows_split_horizontally (line 292) | fn two_windows_split_horizontally() { function two_windows_split_vertically (line 316) | fn two_windows_split_vertically() { function one_packet_of_traffic (line 340) | fn one_packet_of_traffic() { function bi_directional_traffic (line 361) | fn bi_directional_traffic(frames: Vec>) { function multiple_packets_of_traffic_from_different_connections (line 375) | fn multiple_packets_of_traffic_from_different_connections() { function multiple_packets_of_traffic_from_single_connection (line 406) | fn multiple_packets_of_traffic_from_single_connection() { function one_process_with_multiple_connections (line 437) | fn one_process_with_multiple_connections() { function multiple_processes_with_multiple_connections (line 468) | fn multiple_processes_with_multiple_connections() { function multiple_connections_from_remote_address (line 513) | fn multiple_connections_from_remote_address() { function sustained_traffic_from_one_process (line 544) | fn sustained_traffic_from_one_process(frames: Vec... function truncate_long_hostnames (line 680) | fn truncate_long_hostnames(network_frames: Vec... function no_resolve_mode (line 719) | fn no_resolve_mode(network_frames: Vec>) { function traffic_with_winch_event (line 758) | fn traffic_with_winch_event() { function layout (line 796) | fn layout(#[case] name: &str, #[case] width: u16, #[case] height: u16) { FILE: src/tests/fakes/fake_input.rs type TerminalEvents (line 25) | pub struct TerminalEvents { method new (line 30) | pub fn new(mut events: Vec>) -> Self { type Item (line 36) | type Item = Event; method next (line 37) | fn next(&mut self) -> Option { type NetworkFrames (line 51) | pub struct NetworkFrames { method new (line 57) | pub fn new(packets: Vec>>) -> Box { method next_packet (line 63) | fn next_packet(&mut self) -> Option<&[u8]> { method next (line 70) | fn next(&mut self) -> Result<&[u8], std::io::Error> { function get_open_sockets (line 92) | pub fn get_open_sockets() -> OpenSockets { function get_interfaces (line 152) | pub fn get_interfaces() -> Vec { function get_interfaces_with_frames (line 166) | pub fn get_interfaces_with_frames( function create_fake_dns_client (line 172) | pub fn create_fake_dns_client(ips_to_hosts: HashMap) -> ... type FakeResolver (line 178) | struct FakeResolver(HashMap); method lookup (line 182) | async fn lookup(&self, ip: IpAddr) -> Option { FILE: src/tests/fakes/fake_output.rs type TerminalEvent (line 14) | pub enum TerminalEvent { type TestBackend (line 23) | pub struct TestBackend { method new (line 31) | pub fn new( type Point (line 47) | struct Point { method clear (line 53) | fn clear(&mut self) -> io::Result<()> { method hide_cursor (line 58) | fn hide_cursor(&mut self) -> io::Result<()> { method show_cursor (line 63) | fn show_cursor(&mut self) -> io::Result<()> { method get_cursor_position (line 68) | fn get_cursor_position(&mut self) -> io::Result { method set_cursor_position (line 73) | fn set_cursor_position>(&mut self, _position: P) -> io... method draw (line 77) | fn draw<'a, I>(&mut self, content: I) -> io::Result<()> method size (line 109) | fn size(&self) -> io::Result { method window_size (line 116) | fn window_size(&mut self) -> io::Result { method flush (line 126) | fn flush(&mut self) -> io::Result<()> {