itpp::TCP_Packet Class Reference

`#include <itpp/protocol/tcp.h>`

Inheritance diagram for itpp::TCP_Packet:

## Classes

struct | TDebugInfo
| ADD DOCUMENTATION HERE. More...

## Public Member Functions

| TCP_Packet ()
| ADD DOCUMENTATION HERE.
| TCP_Packet (const TCP_Packet &packet)
| ADD DOCUMENTATION HERE.
virtual | ~TCP_Packet ()
| ADD DOCUMENTATION HERE.
virtual TCP_Packet & | clone () const
| ADD DOCUMENTATION HERE.
void | set_segment (const TCP_Segment &seg)
| ADD DOCUMENTATION HERE.
TCP_Segment | get_segment () const
| ADD DOCUMENTATION HERE.
void | set_wnd (unsigned val)
| ADD DOCUMENTATION HERE.
unsigned | get_wnd () const
| ADD DOCUMENTATION HERE.
void | set_ACK (Sequence_Number val)
| ADD DOCUMENTATION HERE.
Sequence_Number | get_ACK () const
| ADD DOCUMENTATION HERE.
void | set_session_id (int val)
| ADD DOCUMENTATION HERE.
int | get_session_id () const
| ADD DOCUMENTATION HERE.
void | set_destination_port (unsigned val)
| ADD DOCUMENTATION HERE.
unsigned | get_destination_port () const
| ADD DOCUMENTATION HERE.
void | set_source_port (unsigned val)
| ADD DOCUMENTATION HERE.
unsigned | get_source_port () const
| ADD DOCUMENTATION HERE.
void | set_info (unsigned ssThresh, unsigned recWnd, unsigned cWnd, double estRTT, Sequence_Number sndUna, Sequence_Number sndNxt, bool isRtx)
| ADD DOCUMENTATION HERE.
virtual void | print_header (std::ostream &) const
| ADD DOCUMENTATION HERE.
void | set_bit_size (int packet_size)
| set size of packet in bits
int | bit_size ()
| get size of packet in bits

## Protected Attributes

unsigned | fDestinationPort
| ADD DOCUMENTATION HERE.
unsigned | fSourcePort
| ADD DOCUMENTATION HERE.
TCP_Segment | fSegment
| data segment to be transmitted
Sequence_Number | fACK
| acknowledgment (next expected sn)
unsigned | fWnd
| window size (advertised by receiver)
int | fSessionId
| session identifier
TDebugInfo * | fInfo
| ADD DOCUMENTATION HERE.

## Friends

std::ostream & | operator<< (std::ostream &, TCP_Packet &)
| ADD DOCUMENTATION HERE.

## Detailed Description

TCP_Packet is an IP packet with additional TCP header fields. Messages of this type are used for communication between TCP sender and receiver (data and ACKs).

The class contains a segment of type TCP_Segment with sequence numbers for begin and end of the segment. This is only used in data packets (i.e. from sender to receiver) while there are also fields containing sequence number for the next expected segment (used to ACK data packets, i.e. from receiver to sender) and for the advertised receiver window.

TCP_Packet has an additional field for the session id which my be compared with the pair (source port, destination port) in a real world TCP/IP packet.

Furthermore, some debug info containing state information for TCP sender or receiver may be attached to the message.

See also
  TCP_Segment
  TCP_Packet::TDebugInfo

Author
  Grevent
  Lorang
  Bodamer

Definition at line 211 of file tcp.h.

The documentation for this class was generated from the following file:

- itpp/protocol/tcp.h

Generated on Mon Mar 23 2020 06:18:03 for IT++ by Doxygen 1.8.17