pub struct TcpOption {
pub number: TcpOptionNumber,
pub length: Vec<u8>,
pub data: Vec<u8>,
}
Expand description
A TCP option.
Fields§
§number: TcpOptionNumber
§length: Vec<u8>
§data: Vec<u8>
Implementations§
Source§impl TcpOption
impl TcpOption
Sourcepub fn nop() -> TcpOption
pub fn nop() -> TcpOption
NOP: This may be used to align option fields on 32-bit boundaries for better performance.
Sourcepub fn timestamp(my: u32, their: u32) -> TcpOption
pub fn timestamp(my: u32, their: u32) -> TcpOption
Timestamp: TCP timestamps, defined in RFC 1323, can help TCP determine in which order packets were sent. TCP timestamps are not normally aligned to the system clock and start at some random value.
Sourcepub fn mss(val: u16) -> TcpOption
pub fn mss(val: u16) -> TcpOption
MSS: The maximum segment size (MSS) is the largest amount of data, specified in bytes, that TCP is willing to receive in a single segment.
Sourcepub fn wscale(val: u8) -> TcpOption
pub fn wscale(val: u8) -> TcpOption
Window scale: The TCP window scale option, as defined in RFC 1323, is an option used to increase the maximum window size from 65,535 bytes to 1 gigabyte.
Sourcepub fn sack_perm() -> TcpOption
pub fn sack_perm() -> TcpOption
Selective acknowledgment (SACK) option, defined in RFC 2018 allows the receiver to acknowledge discontinuous blocks of packets which were received correctly. This options enables use of SACK during negotiation.
Sourcepub fn selective_ack(acks: &[u32]) -> TcpOption
pub fn selective_ack(acks: &[u32]) -> TcpOption
Selective acknowledgment (SACK) option, defined in RFC 2018 allows the receiver to acknowledge discontinuous blocks of packets which were received correctly. The acknowledgement can specify a number of SACK blocks, where each SACK block is conveyed by the starting and ending sequence numbers of a contiguous range that the receiver correctly received.