#[repr(C)]pub struct sock_tcp {Show 33 fields
pub address_family: u8,
pub local_addr: [u8; 16],
pub peer_addr: [u8; 16],
pub ll_iface: i8,
pub local_port: u16,
pub peer_port: u16,
pub state: u8,
pub status: u8,
pub snd_una: u32,
pub snd_nxt: u32,
pub snd_wnd: u16,
pub snd_wl1: u32,
pub snd_wl2: u32,
pub rcv_nxt: u32,
pub rcv_wnd: u16,
pub iss: u32,
pub irs: u32,
pub mss: u16,
pub rtt_start: u32,
pub rtt_var: i32,
pub srtt: i32,
pub rto: i32,
pub retries: u8,
pub event_retransmit: evtimer_msg_event_t,
pub event_timeout: evtimer_msg_event_t,
pub event_misc: evtimer_mbox_event_t,
pub pkt_retransmit: *mut gnrc_pktsnip_t,
pub mbox: *mut mbox_t,
pub rcv_buf_raw: *mut u8,
pub rcv_buf: ringbuffer_t,
pub fsm_lock: mutex_t,
pub function_lock: mutex_t,
pub next: *mut sock_tcp,
}
Expand description
@brief Transmission control block of GNRC TCP.
Fields§
§address_family: u8
< Address Family of local_addr / peer_addr
local_addr: [u8; 16]
< Local IP address
peer_addr: [u8; 16]
< Peer IP address
ll_iface: i8
< Link layer interface id to use.
local_port: u16
< Local connections port number
peer_port: u16
< Peer connections port number
state: u8
< Connections state
status: u8
< A connections status flags
snd_una: u32
< Send unacknowledged
snd_nxt: u32
< Send next
snd_wnd: u16
< Send window
snd_wl1: u32
< SeqNo. from last window update
snd_wl2: u32
< AckNo. from last window update
rcv_nxt: u32
< Receive next
rcv_wnd: u16
< Receive window
iss: u32
< Initial sequence sumber
irs: u32
< Initial received sequence number
mss: u16
< The peers MSS
rtt_start: u32
< Timer value for rtt estimation
rtt_var: i32
< Round trip time variance
srtt: i32
< Smoothed round trip time
rto: i32
< Retransmission timeout duration
retries: u8
< Number of retransmissions
event_retransmit: evtimer_msg_event_t
< Retransmission event
event_timeout: evtimer_msg_event_t
< Timeout event
event_misc: evtimer_mbox_event_t
< General purpose event
pkt_retransmit: *mut gnrc_pktsnip_t
< Pointer to packet in “retransmit queue”
mbox: *mut mbox_t
< TCB mbox for synchronization
rcv_buf_raw: *mut u8
< Pointer to the receive buffer
rcv_buf: ringbuffer_t
< Receive buffer data structure
fsm_lock: mutex_t
< Mutex for FSM access synchronization
function_lock: mutex_t
< Mutex for function call synchronization
next: *mut sock_tcp
< Pointer next TCB
Trait Implementations§
impl Copy for sock_tcp
Auto Trait Implementations§
impl Freeze for sock_tcp
impl RefUnwindSafe for sock_tcp
impl !Send for sock_tcp
impl !Sync for sock_tcp
impl Unpin for sock_tcp
impl UnwindSafe for sock_tcp
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)Layout§
Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...)
attributes. Please see the Rust Reference's “Type Layout” chapter for details on type layout guarantees.
Size: 192 bytes