INET Framework for OMNeT++/OMNEST
inet::sctp::SctpAsconfChunk_Base Class Referenceabstract

Class generated from inet/transportlayer/sctp/SctpHeader.msg:302 by opp_msgtool. More...

#include <SctpHeader_m.h>

Inheritance diagram for inet::sctp::SctpAsconfChunk_Base:
inet::sctp::SctpChunk inet::sctp::SctpAsconfChunk

Public Member Functions

virtual ~SctpAsconfChunk_Base ()
 
virtual SctpAsconfChunk_Basedup () const override
 
virtual void parsimPack (omnetpp::cCommBuffer *b) const override
 
virtual void parsimUnpack (omnetpp::cCommBuffer *b) override
 
virtual uint32_t getSerialNumber () const
 
virtual void setSerialNumber (uint32_t serialNumber)
 
virtual const ::inet::L3AddressgetAddressParam () const
 
virtual ::inet::L3AddressgetAddressParamForUpdate ()
 
virtual void setAddressParam (const ::inet::L3Address &addressParam)
 
virtual uint32_t getPeerVTag () const
 
virtual void setPeerVTag (uint32_t peerVTag)
 
virtual void setAsconfParamsArraySize (size_t size)=0
 
virtual size_t getAsconfParamsArraySize () const =0
 
virtual const SctpParametergetAsconfParams (size_t k) const =0
 
virtual SctpParametergetAsconfParamsForUpdate (size_t k)
 
virtual void setAsconfParams (size_t k, SctpParameter *asconfParams)=0
 
virtual void insertAsconfParams (size_t k, SctpParameter *asconfParams)=0
 
void insertAsconfParams (SctpParameter *asconfParams)
 
virtual void appendAsconfParams (SctpParameter *asconfParams)=0
 
virtual void eraseAsconfParams (size_t k)=0
 
- Public Member Functions inherited from inet::sctp::SctpChunk
 SctpChunk (const char *name=nullptr)
 
 SctpChunk (const SctpChunk &other)
 
virtual ~SctpChunk ()
 
SctpChunkoperator= (const SctpChunk &other)
 
virtual uint8_t getSctpChunkType () const
 
virtual void setSctpChunkType (uint8_t sctpChunkType)
 
virtual uint32_t getFlags () const
 
virtual void setFlags (uint32_t flags)
 
virtual unsigned short getLength () const
 
virtual void setLength (unsigned short length)
 
virtual void setChunkNameArraySize (size_t size)
 
virtual size_t getChunkNameArraySize () const
 
virtual char getChunkName (size_t k) const
 
virtual void setChunkName (size_t k, char chunkName)
 
virtual void insertChunkName (size_t k, char chunkName)
 
void insertChunkName (char chunkName)
 
virtual void appendChunkName (char chunkName)
 
virtual void eraseChunkName (size_t k)
 

Protected Member Functions

bool operator== (const SctpAsconfChunk_Base &)=delete
 
 SctpAsconfChunk_Base (const char *name=nullptr)
 
 SctpAsconfChunk_Base (const SctpAsconfChunk_Base &other)
 
SctpAsconfChunk_Baseoperator= (const SctpAsconfChunk_Base &other)
 
- Protected Member Functions inherited from inet::sctp::SctpChunk
bool operator== (const SctpChunk &)=delete
 

Protected Attributes

uint32_t serialNumber = 0
 
::inet::L3Address addressParam
 
uint32_t peerVTag = 0
 
- Protected Attributes inherited from inet::sctp::SctpChunk
uint8_t sctpChunkType = 0
 
uint32_t flags = 0
 
unsigned short length = 0
 
char * chunkName = nullptr
 
size_t chunkName_arraysize = 0
 

Private Member Functions

void copy (const SctpAsconfChunk_Base &other)
 

Detailed Description

Class generated from inet/transportlayer/sctp/SctpHeader.msg:302 by opp_msgtool.

class SctpAsconfChunk extends SctpChunk
{
    @customize;
    uint32_t serialNumber;
    L3Address addressParam;
    uint32_t peerVTag; //for NAT
    abstract SctpParameter *asconfParams[];
}

SctpAsconfChunk_Base is only useful if it gets subclassed, and SctpAsconfChunk is derived from it. The minimum code to be written for SctpAsconfChunk is the following:

class INET_API SctpAsconfChunk : public SctpAsconfChunk_Base
{
  private:
    void copy(const SctpAsconfChunk& other) { ... }
  public:
    SctpAsconfChunk(const char *name=nullptr) : SctpAsconfChunk_Base(name) {}
    SctpAsconfChunk(const SctpAsconfChunk& other) : SctpAsconfChunk_Base(other) {copy(other);}
    SctpAsconfChunk& operator=(const SctpAsconfChunk& other) {if (this==&other) return *this; SctpAsconfChunk_Base::operator=(other); copy(other); return *this;}
    virtual SctpAsconfChunk *dup() const override {return new SctpAsconfChunk(*this);}
    // ADD CODE HERE to redefine and implement pure virtual functions from SctpAsconfChunk_Base
};

The following should go into a .cc (.cpp) file:

Register_Class(SctpAsconfChunk)

Constructor & Destructor Documentation

◆ SctpAsconfChunk_Base() [1/2]

inet::sctp::SctpAsconfChunk_Base::SctpAsconfChunk_Base ( const char *  name = nullptr)
protected

◆ SctpAsconfChunk_Base() [2/2]

inet::sctp::SctpAsconfChunk_Base::SctpAsconfChunk_Base ( const SctpAsconfChunk_Base other)
protected

◆ ~SctpAsconfChunk_Base()

virtual inet::sctp::SctpAsconfChunk_Base::~SctpAsconfChunk_Base ( )
virtual

Member Function Documentation

◆ appendAsconfParams()

virtual void inet::sctp::SctpAsconfChunk_Base::appendAsconfParams ( SctpParameter asconfParams)
pure virtual

Implemented in inet::sctp::SctpAsconfChunk.

◆ copy()

void inet::sctp::SctpAsconfChunk_Base::copy ( const SctpAsconfChunk_Base other)
private

◆ dup()

virtual SctpAsconfChunk_Base* inet::sctp::SctpAsconfChunk_Base::dup ( ) const
inlineoverridevirtual

Reimplemented from inet::sctp::SctpChunk.

Reimplemented in inet::sctp::SctpAsconfChunk.

2075 {throw omnetpp::cRuntimeError("You forgot to manually add a dup() function to class SctpAsconfChunk");}

◆ eraseAsconfParams()

virtual void inet::sctp::SctpAsconfChunk_Base::eraseAsconfParams ( size_t  k)
pure virtual

Implemented in inet::sctp::SctpAsconfChunk.

◆ getAddressParam()

virtual const ::inet::L3Address& inet::sctp::SctpAsconfChunk_Base::getAddressParam ( ) const
virtual

◆ getAddressParamForUpdate()

virtual ::inet::L3Address& inet::sctp::SctpAsconfChunk_Base::getAddressParamForUpdate ( )
inline
2083 { return const_cast<::inet::L3Address&>(const_cast<SctpAsconfChunk_Base*>(this)->getAddressParam());}

◆ getAsconfParams()

virtual const SctpParameter* inet::sctp::SctpAsconfChunk_Base::getAsconfParams ( size_t  k) const
pure virtual

Implemented in inet::sctp::SctpAsconfChunk.

◆ getAsconfParamsArraySize()

virtual size_t inet::sctp::SctpAsconfChunk_Base::getAsconfParamsArraySize ( ) const
pure virtual

Implemented in inet::sctp::SctpAsconfChunk.

◆ getAsconfParamsForUpdate()

virtual SctpParameter* inet::sctp::SctpAsconfChunk_Base::getAsconfParamsForUpdate ( size_t  k)
inlinevirtual
2092 { return const_cast<SctpParameter *>(const_cast<SctpAsconfChunk_Base*>(this)->getAsconfParams(k));}

◆ getPeerVTag()

virtual uint32_t inet::sctp::SctpAsconfChunk_Base::getPeerVTag ( ) const
virtual

◆ getSerialNumber()

virtual uint32_t inet::sctp::SctpAsconfChunk_Base::getSerialNumber ( ) const
virtual

◆ insertAsconfParams() [1/2]

void inet::sctp::SctpAsconfChunk_Base::insertAsconfParams ( SctpParameter asconfParams)
inline
2095 {appendAsconfParams(asconfParams);}

◆ insertAsconfParams() [2/2]

virtual void inet::sctp::SctpAsconfChunk_Base::insertAsconfParams ( size_t  k,
SctpParameter asconfParams 
)
pure virtual

Implemented in inet::sctp::SctpAsconfChunk.

◆ operator=()

SctpAsconfChunk_Base& inet::sctp::SctpAsconfChunk_Base::operator= ( const SctpAsconfChunk_Base other)
protected

◆ operator==()

bool inet::sctp::SctpAsconfChunk_Base::operator== ( const SctpAsconfChunk_Base )
protecteddelete

◆ parsimPack()

virtual void inet::sctp::SctpAsconfChunk_Base::parsimPack ( omnetpp::cCommBuffer *  b) const
overridevirtual

Reimplemented from inet::sctp::SctpChunk.

◆ parsimUnpack()

virtual void inet::sctp::SctpAsconfChunk_Base::parsimUnpack ( omnetpp::cCommBuffer *  b)
overridevirtual

Reimplemented from inet::sctp::SctpChunk.

◆ setAddressParam()

virtual void inet::sctp::SctpAsconfChunk_Base::setAddressParam ( const ::inet::L3Address addressParam)
virtual

◆ setAsconfParams()

virtual void inet::sctp::SctpAsconfChunk_Base::setAsconfParams ( size_t  k,
SctpParameter asconfParams 
)
pure virtual

Implemented in inet::sctp::SctpAsconfChunk.

◆ setAsconfParamsArraySize()

virtual void inet::sctp::SctpAsconfChunk_Base::setAsconfParamsArraySize ( size_t  size)
pure virtual

Implemented in inet::sctp::SctpAsconfChunk.

◆ setPeerVTag()

virtual void inet::sctp::SctpAsconfChunk_Base::setPeerVTag ( uint32_t  peerVTag)
virtual

◆ setSerialNumber()

virtual void inet::sctp::SctpAsconfChunk_Base::setSerialNumber ( uint32_t  serialNumber)
virtual

Member Data Documentation

◆ addressParam

::inet::L3Address inet::sctp::SctpAsconfChunk_Base::addressParam
protected

◆ peerVTag

uint32_t inet::sctp::SctpAsconfChunk_Base::peerVTag = 0
protected

◆ serialNumber

uint32_t inet::sctp::SctpAsconfChunk_Base::serialNumber = 0
protected

The documentation for this class was generated from the following file:
inet::sctp::SctpAsconfChunk_Base::appendAsconfParams
virtual void appendAsconfParams(SctpParameter *asconfParams)=0
inet::sctp::SctpAsconfChunk_Base::getAsconfParams
virtual const SctpParameter * getAsconfParams(size_t k) const =0
inet::L3Address
This class provides the generic interface for network addresses.
Definition: L3Address.h:30
inet::sctp::SctpAsconfChunk_Base::SctpAsconfChunk_Base
SctpAsconfChunk_Base(const char *name=nullptr)
inet::physicallayer::k
const double k
Definition: Qam1024Modulation.cc:14
inet::sctp::SctpAsconfChunk_Base::getAddressParam
virtual const ::inet::L3Address & getAddressParam() const