Struct smoltcp::wire::TcpPacket
[−]
[src]
pub struct TcpPacket<T: AsRef<[u8]>> { /* fields omitted */ }
A read/write wrapper around a Transmission Control Protocol packet buffer.
Methods
impl<T: AsRef<[u8]>> Packet<T>
[src]
fn new(buffer: T) -> Packet<T>
[src]
Imbue a raw octet buffer with TCP packet structure.
fn new_checked(buffer: T) -> Result<Packet<T>>
[src]
fn check_len(&self) -> Result<()>
[src]
Ensure that no accessor method will panic if called.
Returns Err(Error::Truncated)
if the buffer is too short.
Returns Err(Error::Malformed)
if the header length field has a value smaller
than the minimal header length.
The result of this check is invalidated by calling set_header_len.
fn into_inner(self) -> T
[src]
Consume the packet, returning the underlying buffer.
fn src_port(&self) -> u16
[src]
Return the source port field.
fn dst_port(&self) -> u16
[src]
Return the destination port field.
fn seq_number(&self) -> SeqNumber
[src]
Return the sequence number field.
fn ack_number(&self) -> SeqNumber
[src]
Return the acknowledgement number field.
fn fin(&self) -> bool
[src]
Return the FIN flag.
fn syn(&self) -> bool
[src]
Return the SYN flag.
fn rst(&self) -> bool
[src]
Return the RST flag.
fn psh(&self) -> bool
[src]
Return the PSH flag.
fn ack(&self) -> bool
[src]
Return the ACK flag.
fn urg(&self) -> bool
[src]
Return the URG flag.
fn ece(&self) -> bool
[src]
Return the ECE flag.
fn cwr(&self) -> bool
[src]
Return the CWR flag.
fn ns(&self) -> bool
[src]
Return the NS flag.
fn header_len(&self) -> u8
[src]
Return the header length, in octets.
fn window_len(&self) -> u16
[src]
Return the window size field.
fn checksum(&self) -> u16
[src]
Return the checksum field.
fn urgent_at(&self) -> u16
[src]
Return the urgent pointer field.
fn segment_len(&self) -> usize
[src]
Return the length of the segment, in terms of sequence space.
fn verify_checksum(&self, src_addr: &IpAddress, dst_addr: &IpAddress) -> bool
[src]
impl<'a, T: AsRef<[u8]> + ?Sized> Packet<&'a T>
[src]
fn options(&self) -> &'a [u8]
[src]
Return a pointer to the options.
fn payload(&self) -> &'a [u8]
[src]
Return a pointer to the payload.
impl<T: AsRef<[u8]> + AsMut<[u8]>> Packet<T>
[src]
fn set_src_port(&mut self, value: u16)
[src]
Set the source port field.
fn set_dst_port(&mut self, value: u16)
[src]
Set the destination port field.
fn set_seq_number(&mut self, value: SeqNumber)
[src]
Set the sequence number field.
fn set_ack_number(&mut self, value: SeqNumber)
[src]
Set the acknowledgement number field.
fn clear_flags(&mut self)
[src]
Clear the entire flags field.
fn set_fin(&mut self, value: bool)
[src]
Set the FIN flag.
fn set_syn(&mut self, value: bool)
[src]
Set the SYN flag.
fn set_rst(&mut self, value: bool)
[src]
Set the RST flag.
fn set_psh(&mut self, value: bool)
[src]
Set the PSH flag.
fn set_ack(&mut self, value: bool)
[src]
Set the ACK flag.
fn set_urg(&mut self, value: bool)
[src]
Set the URG flag.
fn set_ece(&mut self, value: bool)
[src]
Set the ECE flag.
fn set_cwr(&mut self, value: bool)
[src]
Set the CWR flag.
fn set_ns(&mut self, value: bool)
[src]
Set the NS flag.
fn set_header_len(&mut self, value: u8)
[src]
Set the header length, in octets.
fn set_window_len(&mut self, value: u16)
[src]
Return the window size field.
fn set_checksum(&mut self, value: u16)
[src]
Set the checksum field.
fn set_urgent_at(&mut self, value: u16)
[src]
Set the urgent pointer field.
fn fill_checksum(&mut self, src_addr: &IpAddress, dst_addr: &IpAddress)
[src]
Compute and fill in the header checksum.
Panics
This function panics unless src_addr
and dst_addr
belong to the same family,
and that family is IPv4 or IPv6.
impl<'a, T: AsRef<[u8]> + AsMut<[u8]> + ?Sized> Packet<&'a mut T>
[src]
fn options_mut(&mut self) -> &mut [u8]
[src]
Return a pointer to the options.
fn payload_mut(&mut self) -> &mut [u8]
[src]
Return a mutable pointer to the payload data.
Trait Implementations
impl<T: Debug + AsRef<[u8]>> Debug for Packet<T>
[src]
impl<'a, T: AsRef<[u8]> + ?Sized> Display for Packet<&'a T>
[src]
fn fmt(&self, f: &mut Formatter) -> Result
[src]
Formats the value using the given formatter. Read more
impl<T: AsRef<[u8]>> PrettyPrint for Packet<T>
[src]
fn pretty_print(
buffer: &AsRef<[u8]>,
f: &mut Formatter,
indent: &mut PrettyIndent
) -> Result
[src]
buffer: &AsRef<[u8]>,
f: &mut Formatter,
indent: &mut PrettyIndent
) -> Result
Write a concise, formatted representation of a packet contained in the provided buffer, and any nested packets it may contain. Read more