class for the reordering buffer that keeps the data from lower layer, i.e. TcpL4Protocol, sent to the application More...
#include <tcp-rx-buffer.h>
Public Types | |
typedef std::map < SequenceNumber32, Ptr < Packet > >::iterator | BufIterator |
Public Member Functions | |
TcpRxBuffer (uint32_t n=0) | |
SequenceNumber32 | NextRxSequence (void) const |
SequenceNumber32 | MaxRxSequence (void) const |
void | IncNextRxSequence (void) |
void | SetNextRxSequence (const SequenceNumber32 &s) |
void | SetFinSequence (const SequenceNumber32 &s) |
uint32_t | MaxBufferSize (void) const |
void | SetMaxBufferSize (uint32_t s) |
uint32_t | Size (void) const |
uint32_t | Available () const |
bool | Finished (void) |
bool | Add (Ptr< Packet > p, TcpHeader const &tcph) |
Ptr< Packet > | Extract (uint32_t maxSize) |
Static Public Member Functions | |
static TypeId | GetTypeId (void) |
This method returns the TypeId associated to ns3::Object. | |
Public Attributes | |
TracedValue< SequenceNumber32 > | m_nextRxSeq |
SequenceNumber32 | m_finSeq |
bool | m_gotFin |
uint32_t | m_size |
uint32_t | m_maxBuffer |
uint32_t | m_availBytes |
std::map< SequenceNumber32, Ptr< Packet > > | m_data |
class for the reordering buffer that keeps the data from lower layer, i.e. TcpL4Protocol, sent to the application
Insert a packet into the buffer and update the availBytes counter to reflect the number of bytes ready to send to the application. This function handles overlap by triming the head of the inputted packet and removing data from the buffer that overlaps the tail of the inputted packet
Extract data from the head of the buffer as indicated by nextRxSeq. The extracted data is going to be forwarded to the application.
static TypeId ns3::TcpRxBuffer::GetTypeId | ( | void | ) | [static] |
This method returns the TypeId associated to ns3::Object.
This object is accessible through the following paths with Config::Set and Config::Connect:
No Attributes defined for this type.
No TraceSources defined for this type.
Reimplemented from ns3::Object.