INET Framework for OMNeT++/OMNEST
inet::sctp::SctpStreamResetChunk Class Reference

#include <SctpHeader.h>

Inheritance diagram for inet::sctp::SctpStreamResetChunk:
inet::sctp::SctpStreamResetChunk_Base inet::sctp::SctpChunk

Public Member Functions

 SctpStreamResetChunk (const char *name=nullptr, int32_t kind=0)
 
 SctpStreamResetChunk (const SctpStreamResetChunk &other)
 
SctpStreamResetChunkoperator= (const SctpStreamResetChunk &other)
 
 ~SctpStreamResetChunk ()
 
virtual SctpStreamResetChunkdup () const override
 
virtual void setParametersArraySize (size_t size) override
 
virtual size_t getParametersArraySize () const override
 
virtual void setParameters (size_t k, SctpParameter *parameters) override
 Generated but unused method, should not be called. More...
 
virtual void appendParameters (SctpParameter *parameters) override
 
virtual void insertParameters (size_t k, SctpParameter *parameters) override
 
virtual void eraseParameters (size_t k) override
 
virtual const SctpParametergetParameters (size_t k) const override
 Returns the kth parameter in this SCTP Reset Chunk. More...
 
virtual void addParameter (SctpParameter *msg)
 Adds a message object to the SCTP packet. More...
 
virtual cPacket * removeParameter ()
 Removes and returns the first message object in this SCTP packet. More...
 
virtual void insertParameters (size_t k, SctpParameter *parameters)=0
 
void insertParameters (SctpParameter *parameters)
 
- Public Member Functions inherited from inet::sctp::SctpStreamResetChunk_Base
virtual ~SctpStreamResetChunk_Base ()
 
virtual void parsimPack (omnetpp::cCommBuffer *b) const override
 
virtual void parsimUnpack (omnetpp::cCommBuffer *b) override
 
virtual SctpParametergetParametersForUpdate (size_t k)
 
void insertParameters (SctpParameter *parameters)
 
- 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 Attributes

std::vector< SctpParameter * > parameterList
 
- 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 SctpStreamResetChunk &other)
 
void clean ()
 

Additional Inherited Members

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

Constructor & Destructor Documentation

◆ SctpStreamResetChunk() [1/2]

inet::sctp::SctpStreamResetChunk::SctpStreamResetChunk ( const char *  name = nullptr,
int32_t  kind = 0 
)
inline

◆ SctpStreamResetChunk() [2/2]

inet::sctp::SctpStreamResetChunk::SctpStreamResetChunk ( const SctpStreamResetChunk other)
inline
135 : SctpStreamResetChunk_Base(other) { operator=(other); };

◆ ~SctpStreamResetChunk()

inet::sctp::SctpStreamResetChunk::~SctpStreamResetChunk ( )
300 {
301  clean();
302 }

Member Function Documentation

◆ addParameter()

void inet::sctp::SctpStreamResetChunk::addParameter ( SctpParameter msg)
virtual

◆ appendParameters()

virtual void inet::sctp::SctpStreamResetChunk::appendParameters ( SctpParameter parameters)
inlineoverridevirtual

Implements inet::sctp::SctpStreamResetChunk_Base.

147 { throw cRuntimeError("Unimplemented function"); }

◆ clean()

void inet::sctp::SctpStreamResetChunk::clean ( )
private
305 {
306  while (!parameterList.empty()) {
307  cPacket *msg = parameterList.front();
308  parameterList.erase(parameterList.begin());
309  dropAndDelete(msg);
310  }
311 }

Referenced by ~SctpStreamResetChunk().

◆ copy()

void inet::sctp::SctpStreamResetChunk::copy ( const SctpStreamResetChunk other)
private
248 {
249  for (const auto& elem : other.parameterList) {
250  SctpParameter *param = (elem)->dup();
251  take(param);
252  parameterList.push_back(param);
253  }
254 }

◆ dup()

◆ eraseParameters()

virtual void inet::sctp::SctpStreamResetChunk::eraseParameters ( size_t  k)
inlineoverridevirtual

Implements inet::sctp::SctpStreamResetChunk_Base.

150 { throw cRuntimeError("Unimplemented function"); }

◆ getParameters()

const SctpParameter * inet::sctp::SctpStreamResetChunk::getParameters ( size_t  k) const
overridevirtual

Returns the kth parameter in this SCTP Reset Chunk.

Implements inet::sctp::SctpStreamResetChunk_Base.

267 {
268  return parameterList.at(k);
269 }

Referenced by inet::sctp::SctpAssociation::processStreamResetArrived(), and inet::sctp::SctpHeaderSerializer::serialize().

◆ getParametersArraySize()

size_t inet::sctp::SctpStreamResetChunk::getParametersArraySize ( ) const
overridevirtual

◆ insertParameters() [1/3]

void inet::sctp::SctpStreamResetChunk_Base::insertParameters
inline
1641 {appendParameters(parameters);}

◆ insertParameters() [2/3]

virtual void inet::sctp::SctpStreamResetChunk::insertParameters ( size_t  k,
SctpParameter parameters 
)
inlineoverridevirtual

Implements inet::sctp::SctpStreamResetChunk_Base.

149 { throw cRuntimeError("Unimplemented function"); }

◆ insertParameters() [3/3]

virtual void inet::sctp::SctpStreamResetChunk_Base::insertParameters

◆ operator=()

SctpStreamResetChunk & inet::sctp::SctpStreamResetChunk::operator= ( const SctpStreamResetChunk other)
237 {
239 
240  this->setByteLength(SCTP_STREAM_RESET_CHUNK_LENGTH);
241  for (const auto& elem : other.parameterList)
242  addParameter((elem)->dup());
243 
244  return *this;
245 }

◆ removeParameter()

cPacket * inet::sctp::SctpStreamResetChunk::removeParameter ( )
virtual

Removes and returns the first message object in this SCTP packet.

288 {
289  if (parameterList.empty())
290  return nullptr;
291 
292  cPacket *msg = parameterList.front();
293  parameterList.erase(parameterList.begin());
294  drop(msg);
295  this->setByteLength(this->getByteLength() + ADD_PADDING(msg->getByteLength()));
296  return msg;
297 }

◆ setParameters()

void inet::sctp::SctpStreamResetChunk::setParameters ( size_t  k,
SctpParameter parameters 
)
overridevirtual

Generated but unused method, should not be called.

Implements inet::sctp::SctpStreamResetChunk_Base.

272 {
273  throw cException(this, "setParameters() not supported, use addParameter()");
274 }

◆ setParametersArraySize()

void inet::sctp::SctpStreamResetChunk::setParametersArraySize ( size_t  size)
overridevirtual

Implements inet::sctp::SctpStreamResetChunk_Base.

257 {
258  throw cException(this, "setParametersArraySize() not supported, use addParameter()");
259 }

Member Data Documentation

◆ parameterList

std::vector<SctpParameter *> inet::sctp::SctpStreamResetChunk::parameterList
protected

The documentation for this class was generated from the following files:
inet::sctp::SctpStreamResetChunk::operator=
SctpStreamResetChunk & operator=(const SctpStreamResetChunk &other)
Definition: SctpHeader.cc:236
inet::sctp::SctpStreamResetChunk::parameterList
std::vector< SctpParameter * > parameterList
Definition: SctpHeader.h:127
inet::sctp::SctpStreamResetChunk_Base::SctpStreamResetChunk_Base
SctpStreamResetChunk_Base(const char *name=nullptr)
inet::sctp::SctpStreamResetChunk_Base::operator=
SctpStreamResetChunk_Base & operator=(const SctpStreamResetChunk_Base &other)
inet::sctp::SctpStreamResetChunk::dup
virtual SctpStreamResetChunk * dup() const override
Definition: SctpHeader.h:139
ADD_PADDING
#define ADD_PADDING(x)
Definition: SctpAssociation.h:252
inet::sctp::SctpStreamResetChunk::addParameter
virtual void addParameter(SctpParameter *msg)
Adds a message object to the SCTP packet.
Definition: SctpHeader.cc:276
inet::physicallayer::k
const double k
Definition: Qam1024Modulation.cc:14
inet::sctp::SctpStreamResetChunk::appendParameters
virtual void appendParameters(SctpParameter *parameters) override
Definition: SctpHeader.h:147
inet::sctp::SctpStreamResetChunk::clean
void clean()
Definition: SctpHeader.cc:304
SCTP_STREAM_RESET_CHUNK_LENGTH
#define SCTP_STREAM_RESET_CHUNK_LENGTH
Definition: SctpAssociation.h:215
inet::sctp::SctpStreamResetChunk::SctpStreamResetChunk
SctpStreamResetChunk(const char *name=nullptr, int32_t kind=0)
Definition: SctpHeader.h:134