INET Framework for OMNeT++/OMNEST
inet::tcp::Sack Class Reference

Class generated from inet/transportlayer/tcp_common/TcpHeader.msg:87 by opp_msgtool. More...

#include <TcpHeader_m.h>

Inheritance diagram for inet::tcp::Sack:
inet::tcp::SackItem

Public Member Functions

 Sack ()
 
 Sack (const Sack &other)
 
virtual ~Sack ()
 
Sackoperator= (const Sack &other)
 
virtual Sackdup () const override
 
virtual void parsimPack (omnetpp::cCommBuffer *b) const override
 
virtual void parsimUnpack (omnetpp::cCommBuffer *b) override
 
 Sack (unsigned int start_par, unsigned int end_par)
 
virtual bool empty () const
 
virtual bool contains (const Sack &other) const
 
virtual void clear ()
 
virtual void setSegment (unsigned int start_par, unsigned int end_par)
 
virtual std::string str () const override
 
- Public Member Functions inherited from inet::tcp::SackItem
 SackItem ()
 
 SackItem (const SackItem &other)
 
virtual ~SackItem ()
 
SackItemoperator= (const SackItem &other)
 
virtual unsigned int getStart () const
 
virtual void setStart (unsigned int start)
 
virtual unsigned int getEnd () const
 
virtual void setEnd (unsigned int end)
 

Protected Member Functions

bool operator== (const Sack &)=delete
 
- Protected Member Functions inherited from inet::tcp::SackItem
bool operator== (const SackItem &)=delete
 

Private Member Functions

void copy (const Sack &other)
 

Additional Inherited Members

- Protected Attributes inherited from inet::tcp::SackItem
unsigned int start = 0
 
unsigned int end = 0
 

Detailed Description

Class generated from inet/transportlayer/tcp_common/TcpHeader.msg:87 by opp_msgtool.

class Sack extends SackItem
{
}

Constructor & Destructor Documentation

◆ Sack() [1/3]

inet::tcp::Sack::Sack ( )

◆ Sack() [2/3]

inet::tcp::Sack::Sack ( const Sack other)

◆ ~Sack()

virtual inet::tcp::Sack::~Sack ( )
virtual

◆ Sack() [3/3]

inet::tcp::Sack::Sack ( unsigned int  start_par,
unsigned int  end_par 
)
inline
201 { setSegment(start_par, end_par); }

Member Function Documentation

◆ clear()

void inet::tcp::Sack::clear ( )
virtual
27 {
28  start = end = 0;
29 }

◆ contains()

bool inet::tcp::Sack::contains ( const Sack other) const
virtual
22 {
23  return seqLE(start, other.start) && seqLE(other.end, end);
24 }

Referenced by inet::tcp::TcpConnection::processSACKOption().

◆ copy()

void inet::tcp::Sack::copy ( const Sack other)
private

◆ dup()

virtual Sack* inet::tcp::Sack::dup ( ) const
inlineoverridevirtual

Reimplemented from inet::tcp::SackItem.

195 {return new Sack(*this);}

◆ empty()

bool inet::tcp::Sack::empty ( ) const
virtual
17 {
18  return start == 0 && end == 0;
19 }

◆ operator=()

Sack& inet::tcp::Sack::operator= ( const Sack other)

◆ operator==()

bool inet::tcp::Sack::operator== ( const Sack )
protecteddelete

◆ parsimPack()

virtual void inet::tcp::Sack::parsimPack ( omnetpp::cCommBuffer *  b) const
overridevirtual

Reimplemented from inet::tcp::SackItem.

Referenced by inet::tcp::doParsimPacking().

◆ parsimUnpack()

virtual void inet::tcp::Sack::parsimUnpack ( omnetpp::cCommBuffer *  b)
overridevirtual

Reimplemented from inet::tcp::SackItem.

Referenced by inet::tcp::doParsimUnpacking().

◆ setSegment()

void inet::tcp::Sack::setSegment ( unsigned int  start_par,
unsigned int  end_par 
)
virtual
32 {
33  setStart(start_par);
34  setEnd(end_par);
35 }

◆ str()

std::string inet::tcp::Sack::str ( ) const
overridevirtual
38 {
39  std::stringstream out;
40 
41  out << "[" << start << ".." << end << ")";
42  return out.str();
43 }

Referenced by inet::tcp::TcpConnection::addSacks(), and inet::tcp::TcpConnection::processSACKOption().


The documentation for this class was generated from the following files:
inet::tcp::SackItem::start
unsigned int start
Definition: TcpHeader_m.h:144
inet::tcp::SackItem::end
unsigned int end
Definition: TcpHeader_m.h:145
inet::tcp::seqLE
bool seqLE(uint32_t a, uint32_t b)
Definition: TcpHeader.h:22
inet::tcp::SackItem::setStart
virtual void setStart(unsigned int start)
inet::tcp::SackItem::setEnd
virtual void setEnd(unsigned int end)
inet::tcp::Sack::setSegment
virtual void setSegment(unsigned int start_par, unsigned int end_par)
Definition: TcpHeader.cc:31
inet::tcp::Sack::Sack
Sack()