Struct tcp_info

#[repr(C)]
pub struct tcp_info { pub tcpi_state: u8, pub tcpi_ca_state: u8, pub tcpi_retransmits: u8, pub tcpi_probes: u8, pub tcpi_backoff: u8, pub tcpi_options: u8, pub tcpi_snd_rcv_wscale: u8, pub tcpi_rto: u32, pub tcpi_ato: u32, pub tcpi_snd_mss: u32, pub tcpi_rcv_mss: u32, pub tcpi_unacked: u32, pub tcpi_sacked: u32, pub tcpi_lost: u32, pub tcpi_retrans: u32, pub tcpi_fackets: u32, pub tcpi_last_data_sent: u32, pub tcpi_last_ack_sent: u32, pub tcpi_last_data_recv: u32, pub tcpi_last_ack_recv: u32, pub tcpi_pmtu: u32, pub tcpi_rcv_ssthresh: u32, pub tcpi_rtt: u32, pub tcpi_rttvar: u32, pub tcpi_snd_ssthresh: u32, pub tcpi_snd_cwnd: u32, pub tcpi_advmss: u32, pub tcpi_reordering: u32, pub tcpi_rcv_rtt: u32, pub tcpi_rcv_space: u32, pub tcpi_total_retrans: u32, pub tcpi_pacing_rate: u64, pub tcpi_max_pacing_rate: u64, pub tcpi_bytes_acked: u64, pub tcpi_bytes_received: u64, pub tcpi_segs_out: u32, pub tcpi_segs_in: u32, pub tcpi_notsent_bytes: u32, pub tcpi_min_rtt: u32, pub tcpi_data_segs_in: u32, pub tcpi_data_segs_out: u32, pub tcpi_delivery_rate: u64, pub tcpi_busy_time: u64, pub tcpi_rwnd_limited: u64, pub tcpi_sndbuf_limited: u64, pub tcpi_delivered: u32, pub tcpi_delivered_ce: u32, pub tcpi_bytes_sent: u64, pub tcpi_bytes_retrans: u64, pub tcpi_dsack_dups: u32, pub tcpi_reord_seen: u32, pub tcpi_rcv_ooopack: u32, pub tcpi_snd_wnd: u32, pub tcpi_rcv_wnd: u32, pub tcpi_rehash: u32, pub tcpi_total_rto: u16, pub tcpi_total_rto_recoveries: u16, pub tcpi_total_rto_time: u32, pub tcpi_received_ce: u32, pub tcpi_delivered_e1_bytes: u32, pub tcpi_delivered_e0_bytes: u32, pub tcpi_delivered_ce_bytes: u32, pub tcpi_received_e1_bytes: u32, pub tcpi_received_e0_bytes: u32, pub tcpi_received_ce_bytes: u32, pub tcpi_accecn_fail_mode: u16, pub tcpi_accecn_opt_seen: u16 }

Fields

tcpi_state: u8
tcpi_ca_state: u8
tcpi_retransmits: u8
tcpi_probes: u8
tcpi_backoff: u8
tcpi_options: u8
tcpi_snd_rcv_wscale: u8

This contains the bitfields tcpi_snd_wscale and tcpi_rcv_wscale. Each is 4 bits.

tcpi_rto: u32
tcpi_ato: u32
tcpi_snd_mss: u32
tcpi_rcv_mss: u32
tcpi_unacked: u32
tcpi_sacked: u32
tcpi_lost: u32
tcpi_retrans: u32
tcpi_fackets: u32
tcpi_last_data_sent: u32
tcpi_last_ack_sent: u32
tcpi_last_data_recv: u32
tcpi_last_ack_recv: u32
tcpi_pmtu: u32
tcpi_rcv_ssthresh: u32
tcpi_rtt: u32
tcpi_rttvar: u32
tcpi_snd_ssthresh: u32
tcpi_snd_cwnd: u32
tcpi_advmss: u32
tcpi_reordering: u32
tcpi_rcv_rtt: u32
tcpi_rcv_space: u32
tcpi_total_retrans: u32
tcpi_pacing_rate: u64
tcpi_max_pacing_rate: u64
tcpi_bytes_acked: u64
tcpi_bytes_received: u64
tcpi_segs_out: u32
tcpi_segs_in: u32
tcpi_notsent_bytes: u32
tcpi_min_rtt: u32
tcpi_data_segs_in: u32
tcpi_data_segs_out: u32
tcpi_delivery_rate: u64
tcpi_busy_time: u64
tcpi_rwnd_limited: u64
tcpi_sndbuf_limited: u64
tcpi_delivered: u32
tcpi_delivered_ce: u32
tcpi_bytes_sent: u64
tcpi_bytes_retrans: u64
tcpi_dsack_dups: u32
tcpi_reord_seen: u32
tcpi_rcv_ooopack: u32
tcpi_snd_wnd: u32
tcpi_rcv_wnd: u32
tcpi_rehash: u32
tcpi_total_rto: u16
tcpi_total_rto_recoveries: u16
tcpi_total_rto_time: u32
tcpi_received_ce: u32
tcpi_delivered_e1_bytes: u32
tcpi_delivered_e0_bytes: u32
tcpi_delivered_ce_bytes: u32
tcpi_received_e1_bytes: u32
tcpi_received_e0_bytes: u32
tcpi_received_ce_bytes: u32
tcpi_accecn_fail_mode: u16
tcpi_accecn_opt_seen: u16

Trait Implementations

impl Clone for tcp_info

fn clone(&self) -> tcp_info

impl Copy for tcp_info

impl Debug for tcp_info

fn fmt(&self, f: &mut Formatter<'_>) -> Result

impl Eq for tcp_info

impl Hash for tcp_info

fn hash<__H: Hasher>(&self, state: &mut __H)

impl PartialEq for tcp_info

fn eq(&self, other: &tcp_info) -> bool

impl StructuralPartialEq for tcp_info

Auto Trait Implementations

impl Freeze for tcp_info

impl RefUnwindSafe for tcp_info

impl Send for tcp_info

impl Sync for tcp_info

impl Unpin for tcp_info

impl UnsafeUnpin for tcp_info

impl UnwindSafe for tcp_info

Blanket Implementations

impl<T> Any for tcp_info where T: 'static + ?Sized,

fn type_id(&self) -> TypeId

impl<T> Borrow<T> for tcp_info where T: ?Sized,

fn borrow(&self) -> &T

impl<T> BorrowMut<T> for tcp_info where T: ?Sized,

fn borrow_mut(&mut self) -> &mut T

impl<T> CloneToUninit for tcp_info where T: Clone,

unsafe fn clone_to_uninit(&self, dest: *mut u8)

impl<T> From<T> for tcp_info

fn from(t: T) -> T

Returns the argument unchanged.

impl<T, U> Into<U> for tcp_info where U: From<T>,

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of [From]<T> for U chooses to do.

impl<T, U> TryFrom<U> for tcp_info where U: Into<T>,

type Error = never;
fn try_from(value: U) -> Result<T, never>

impl<T, U> TryInto<U> for tcp_info where U: TryFrom<T>,

type Error = <U as TryFrom<T>>::Error;
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>