INET Framework for OMNeT++/OMNEST
inet::aodv::Rreq Class Reference

Class generated from inet/routing/aodv/AodvControlPackets.msg:38 by opp_msgtool. More...

#include <AodvControlPackets_m.h>

Inheritance diagram for inet::aodv::Rreq:
inet::aodv::AodvControlPacket inet::FieldsChunk inet::Chunk inet::IPrintableObject inet::IRegionTaggedObject

Public Member Functions

 Rreq ()
 
 Rreq (const Rreq &other)
 
virtual ~Rreq ()
 
Rreqoperator= (const Rreq &other)
 
virtual Rreqdup () const override
 
virtual void parsimPack (omnetpp::cCommBuffer *b) const override
 
virtual void parsimUnpack (omnetpp::cCommBuffer *b) override
 
virtual bool getJoinFlag () const
 
virtual void setJoinFlag (bool joinFlag)
 
virtual bool getRepairFlag () const
 
virtual void setRepairFlag (bool repairFlag)
 
virtual bool getGratuitousRREPFlag () const
 
virtual void setGratuitousRREPFlag (bool gratuitousRREPFlag)
 
virtual bool getDestOnlyFlag () const
 
virtual void setDestOnlyFlag (bool destOnlyFlag)
 
virtual bool getUnknownSeqNumFlag () const
 
virtual void setUnknownSeqNumFlag (bool unknownSeqNumFlag)
 
virtual uint16_t getReserved () const
 
virtual void setReserved (uint16_t reserved)
 
virtual unsigned int getHopCount () const
 
virtual void setHopCount (unsigned int hopCount)
 
virtual uint32_t getRreqId () const
 
virtual void setRreqId (uint32_t rreqId)
 
virtual const ::inet::L3AddressgetDestAddr () const
 
virtual ::inet::L3AddressgetDestAddrForUpdate ()
 
virtual void setDestAddr (const ::inet::L3Address &destAddr)
 
virtual uint32_t getDestSeqNum () const
 
virtual void setDestSeqNum (uint32_t destSeqNum)
 
virtual const ::inet::L3AddressgetOriginatorAddr () const
 
virtual ::inet::L3AddressgetOriginatorAddrForUpdate ()
 
virtual void setOriginatorAddr (const ::inet::L3Address &originatorAddr)
 
virtual uint32_t getOriginatorSeqNum () const
 
virtual void setOriginatorSeqNum (uint32_t originatorSeqNum)
 
- Public Member Functions inherited from inet::aodv::AodvControlPacket
 AodvControlPacket ()
 
 AodvControlPacket (const AodvControlPacket &other)
 
virtual ~AodvControlPacket ()
 
AodvControlPacketoperator= (const AodvControlPacket &other)
 
virtual AodvControlPacketType getPacketType () const
 
virtual void setPacketType (AodvControlPacketType packetType)
 
- Public Member Functions inherited from inet::FieldsChunk
 FieldsChunk ()
 
 FieldsChunk (const FieldsChunk &other)
 
virtual ~FieldsChunk ()
 
virtual void parsimPack (cCommBuffer *buffer) const override
 
virtual void parsimUnpack (cCommBuffer *buffer) override
 
virtual void handleChange () override
 
virtual ChunkType getChunkType () const override
 Returns the type of this chunk as an enum member. More...
 
virtual bool containsSameData (const Chunk &other) const override
 Returns true if the two chunks represent the same binary data. More...
 
virtual b getChunkLength () const override
 Returns the length of data represented by this chunk. More...
 
virtual void setChunkLength (b chunkLength)
 
virtual void addChunkLength (b chunkLength)
 
virtual std::ostream & printFieldsToStream (std::ostream &stream, int level, int evFlags=0) const override
 Prints an optinally formatted human readable string representation of the feilds of this chunk to the given stream. More...
 
- Public Member Functions inherited from inet::Chunk
 Chunk ()
 
 Chunk (const Chunk &other)
 
virtual const Ptr< ChunkdupShared () const
 Returns a mutable copy of this chunk in a shared pointer. More...
 
virtual void forEachChild (cVisitor *v) override
 
virtual bool isMutable () const
 
virtual bool isImmutable () const
 
virtual void markImmutable ()
 
void markMutableIfExclusivelyOwned ()
 
virtual bool isComplete () const
 
virtual bool isIncomplete () const
 
virtual void markIncomplete ()
 
virtual bool isCorrect () const
 
virtual bool isIncorrect () const
 
virtual void markIncorrect ()
 
virtual bool isProperlyRepresented () const
 
virtual bool isImproperlyRepresented () const
 
virtual void markImproperlyRepresented ()
 
virtual void moveIterator (Iterator &iterator, b length) const
 
virtual void seekIterator (Iterator &iterator, b position) const
 
virtual bool canInsertAtFront (const Ptr< const Chunk > &chunk) const
 Returns true if this chunk is capable of representing the result. More...
 
virtual bool canInsertAtBack (const Ptr< const Chunk > &chunk) const
 Returns true if this chunk is capable of representing the result. More...
 
virtual bool canInsertAt (const Ptr< const Chunk > &chunk, b offset) const
 Returns true if this chunk is capable of representing the result. More...
 
void insertAtFront (const Ptr< const Chunk > &chunk)
 Inserts the provided chunk at the beginning of this chunk. More...
 
void insertAtBack (const Ptr< const Chunk > &chunk)
 Inserts the provided chunk at the end of this chunk. More...
 
void insertAt (const Ptr< const Chunk > &chunk, b offset)
 Inserts the provided chunk into this chunk. More...
 
virtual bool canRemoveAtFront (b length) const
 Returns true if this chunk is capable of representing the result. More...
 
virtual bool canRemoveAtBack (b length) const
 Returns true if this chunk is capable of representing the result. More...
 
virtual bool canRemoveAt (b offset, b length) const
 Returns true if this chunk is capable of representing the result. More...
 
void removeAtFront (b length)
 Removes the requested part from the beginning of this chunk. More...
 
void removeAtBack (b length)
 Removes the requested part from the end of this chunk. More...
 
void removeAt (b offset, b length)
 Removes the requested part from this chunk. More...
 
int getChunkId () const
 Returns the sequentially assigned id. More...
 
virtual bool isEmpty () const
 Returns true if this chunk contains no data. More...
 
const Ptr< Chunksimplify () const
 Returns the simplified representation of this chunk eliminating all potential redundancies. More...
 
const Ptr< Chunkpeek (const Iterator &iterator, b length=unspecifiedLength, int flags=0) const
 Returns the designated part of the data represented by this chunk in its default representation. More...
 
template<typename T >
bool has (const Iterator &iterator, b length=unspecifiedLength) const
 Returns whether if the designated part of the data is available in the requested representation. More...
 
template<typename T >
const Ptr< Tpeek (const Iterator &iterator, b length=unspecifiedLength, int flags=0) const
 Returns the designated part of the data represented by this chunk in the requested representation. More...
 
virtual SharingRegionTagSetgetRegionTags () override
 Returns all region tags. More...
 
int getNumTags () const
 Returns the number of chunk tags. More...
 
const Ptr< const TagBasegetTag (int index) const
 Returns the chunk tag at the given index. More...
 
void clearTags (b offset=b(0), b length=b(-1))
 Clears the set of chunk tags in the given region. More...
 
void copyTags (const Chunk &source, b sourceOffset=b(0), b offset=b(0), b length=b(-1))
 Copies the set of chunk tags from the source region to the provided region. More...
 
template<typename T >
const Ptr< const TfindTag (b offset=b(0), b length=b(-1)) const
 Returns the chunk tag for the provided type and range, or returns nullptr if no such chunk tag is found. More...
 
template<typename T >
const Ptr< const TgetTag (b offset=b(0), b length=b(-1)) const
 Returns the chunk tag for the provided type and range, or throws an exception if no such chunk tag is found. More...
 
template<typename T >
void mapAllTags (b offset, b length, std::function< void(b, b, const Ptr< const T > &)> f) const
 Maps all tags in the provided range to to the function. More...
 
template<typename T >
void mapAllTagsForUpdate (b offset, b length, std::function< void(b, b, const Ptr< T > &)> f)
 Maps all tags in the provided range to to the function. More...
 
template<typename T >
std::vector< SharingRegionTagSet::RegionTag< const T > > getAllTags (b offset=b(0), b length=b(-1)) const
 Returns all chunk tags for the provided type and range in a detached vector of region tags. More...
 
template<typename T >
std::vector< SharingRegionTagSet::RegionTag< T > > getAllTagsForUpdate (b offset=b(0), b length=b(-1))
 Returns all chunk tags for the provided type and range in a detached vector of region tags. More...
 
template<typename T >
const Ptr< TaddTag (b offset=b(0), b length=b(-1))
 Returns a newly added chunk tag for the provided type and range, or throws an exception if such a chunk tag is already present. More...
 
template<typename T >
const Ptr< TaddTagIfAbsent (b offset=b(0), b length=b(-1))
 Returns a newly added chunk tag for the provided type and range if absent, or returns the chunk tag that is already present. More...
 
template<typename T >
std::vector< SharingRegionTagSet::RegionTag< T > > addTagsWhereAbsent (b offset=b(0), b length=b(-1))
 Returns the newly added chunk tags for the provided type and range where the tag is absent. More...
 
template<typename T >
const Ptr< TremoveTag (b offset, b length)
 Removes the chunk tag for the provided type and range, or throws an exception if no such chunk tag is found. More...
 
template<typename T >
const Ptr< TremoveTagIfPresent (b offset, b length)
 Removes the chunk tag for the provided type and range if present, or returns nullptr if no such chunk tag is found. More...
 
template<typename T >
std::vector< SharingRegionTagSet::RegionTag< T > > removeTagsWherePresent (b offset, b length)
 Removes and returns all chunk tags for the provided type and range. More...
 
virtual std::ostream & printToStream (std::ostream &stream, int level, int evFlags=0) const override
 Prints an optinally formatted human readable string representation of the data present in this chunk to the given stream. More...
 
virtual std::string str () const override
 Returns a human readable string representation of the data present in this chunk. More...
 
- Public Member Functions inherited from inet::IPrintableObject
virtual ~IPrintableObject ()
 
virtual std::string printToString () const
 
virtual std::string printToString (int level, int evFlags=0) const
 
virtual std::string getInfoStringRepresentation (int evFlags=0) const
 
virtual std::string getDetailStringRepresentation (int evFlags=0) const
 
virtual std::string getDebugStringRepresentation (int evFlags=0) const
 
virtual std::string getTraceStringRepresentation (int evFlags=0) const
 
virtual std::string getCompleteStringRepresentation (int evFlags=0) const
 

Protected Member Functions

bool operator== (const Rreq &)=delete
 
- Protected Member Functions inherited from inet::aodv::AodvControlPacket
bool operator== (const AodvControlPacket &)=delete
 
- Protected Member Functions inherited from inet::FieldsChunk
const std::vector< uint8_t > * getSerializedBytes () const
 
void setSerializedBytes (const std::vector< uint8_t > *bytes) const
 
virtual const Ptr< ChunkpeekUnchecked (PeekPredicate predicate, PeekConverter converter, const Iterator &iterator, b length, int flags) const override
 
- Protected Member Functions inherited from inet::Chunk
int getBinDumpNumLines () const
 
int getHexDumpNumLines () const
 
const char * getBinDumpLine (int index)
 
const char * getHexDumpLine (int index)
 
const SharingRegionTagSet::RegionTag< TagBase > & _getTag (int index) const
 
void checkMutable () const
 
virtual void doInsertAtFront (const Ptr< const Chunk > &chunk)
 
virtual void doInsertAtBack (const Ptr< const Chunk > &chunk)
 
virtual void doInsertAt (const Ptr< const Chunk > &chunk, b offset)
 
virtual void doRemoveAtFront (b length)
 
virtual void doRemoveAtBack (b length)
 
virtual void doRemoveAt (b offset, b length)
 
template<typename T >
const Ptr< TpeekConverted (const Iterator &iterator, b length, int flags) const
 
template<typename T >
const Ptr< TcheckPeekResult (const Ptr< T > &chunk, int flags) const
 

Protected Attributes

bool joinFlag = false
 
bool repairFlag = false
 
bool gratuitousRREPFlag = false
 
bool destOnlyFlag = false
 
bool unknownSeqNumFlag = false
 
uint16_t reserved = 0
 
unsigned int hopCount = 0
 
uint32_t rreqId = 0
 
::inet::L3Address destAddr
 
uint32_t destSeqNum = 0
 
::inet::L3Address originatorAddr
 
uint32_t originatorSeqNum = 0
 
- Protected Attributes inherited from inet::aodv::AodvControlPacket
AodvControlPacketType packetType = static_cast<AodvControlPacketType>(-1)
 
- Protected Attributes inherited from inet::FieldsChunk
b chunkLength
 
const std::vector< uint8_t > * serializedBytes
 The serialized representation of this chunk or nullptr if not available. More...
 
- Protected Attributes inherited from inet::Chunk
int id
 The id is automatically assigned sequentially during construction. More...
 
int flags
 The boolean chunk flags are merged into a single integer. More...
 
SharingRegionTagSet regionTags
 The set of region tags attached to the data represented by this chunk. More...
 
const typedef Ptr< Chunk >(* PeekConverter )(const Ptr< Chunk > &chunk, const Chunk::Iterator &iterator, b length, int flags)
 

Private Member Functions

void copy (const Rreq &other)
 

Additional Inherited Members

- Public Types inherited from inet::Chunk
enum  ChunkType {
  CT_EMPTY, CT_BITCOUNT, CT_BITS, CT_BYTECOUNT,
  CT_BYTES, CT_SLICE, CT_ENCRYPTED, CT_CPACKET,
  CT_SEQUENCE, CT_FIELDS
}
 This enum is used to avoid std::dynamic_cast and dynamicPtrCast. More...
 
enum  PeekFlag {
  PF_ALLOW_NULLPTR = (1 << 0), PF_ALLOW_EMPTY = (1 << 1), PF_ALLOW_INCOMPLETE = (1 << 2), PF_ALLOW_INCORRECT = (1 << 3),
  PF_ALLOW_IMPROPERLY_REPRESENTED = (1 << 4), PF_ALLOW_SERIALIZATION = (1 << 5), PF_ALLOW_ALL = -1
}
 This enum specifies bitmasks for the flags argument of various peek functions. More...
 
- Public Types inherited from inet::IPrintableObject
enum  PrintLevel {
  PRINT_LEVEL_TRACE, PRINT_LEVEL_DEBUG, PRINT_LEVEL_DETAIL, PRINT_LEVEL_INFO,
  PRINT_LEVEL_COMPLETE = INT_MIN
}
 
enum  PrintFlag { PRINT_FLAG_FORMATTED = (1 << 0), PRINT_FLAG_MULTILINE = (1 << 1) }
 
- Static Public Member Functions inherited from inet::Chunk
static void serialize (MemoryOutputStream &stream, const Ptr< const Chunk > &chunk, b offset=b(0), b length=b(-1))
 Serializes a chunk into the given stream. More...
 
static const Ptr< Chunkdeserialize (MemoryInputStream &stream, const std::type_info &typeInfo)
 Deserializes a chunk from the given stream. More...
 
- Static Public Attributes inherited from inet::Chunk
static const b unspecifiedLength = b(-std::numeric_limits<int64_t>::max())
 
static bool enableImplicitChunkSerialization = false
 Peeking some part into a chunk that requires automatic serialization will throw an exception when implicit chunk serialization is disabled. More...
 
static int nextId = 0
 
- Protected Types inherited from inet::Chunk
enum  ChunkFlag { CF_IMMUTABLE = (1 << 0), CF_INCOMPLETE = (1 << 1), CF_INCORRECT = (1 << 2), CF_IMPROPERLY_REPRESENTED = (1 << 3) }
 This enum specifies bitmasks for the flags field of Chunk. More...
 
typedef bool(* PeekPredicate) (const Ptr< Chunk > &)
 
- Static Protected Member Functions inherited from inet::FieldsChunk
static const Ptr< ChunkconvertChunk (const std::type_info &typeInfo, const Ptr< Chunk > &chunk, b offset, b length, int flags)
 
- Static Protected Member Functions inherited from inet::Chunk
static const Ptr< ChunkconvertChunk (const std::type_info &typeInfo, const Ptr< Chunk > &chunk, b offset, b length, int flags)
 Creates a new chunk of the given type that represents the designated part of the provided chunk. More...
 

Detailed Description

Class generated from inet/routing/aodv/AodvControlPackets.msg:38 by opp_msgtool.

//
// Represents an AODV Route Request
//
class Rreq extends AodvControlPacket
{
    // chunkLength = B(24) or B(48)
    // packetType = RREQ or RREQ_IPv6
    bool joinFlag;    // Join flag; reserved for multicast.
    bool repairFlag;    // Repair flag; reserved for multicast.
    bool gratuitousRREPFlag;    // Gratuitous RREP flag; indicates whether a gratuitous RREP should be unicast to the node specified in the Destination IP Address field
    bool destOnlyFlag;    // Destination only flag; indicates only the destination may respond to this RREQ
    bool unknownSeqNumFlag;    // Unknown sequence number; indicates the destination sequence number is unknown
    uint16_t reserved = 0;    // Sent as 0; ignored on reception.
    unsigned int hopCount;    // The number of hops from the Originator IP Address to the node handling the request.
    uint32_t rreqId;    // A sequence number uniquely identifying the particular RREQ when taken in conjunction with the originating node's IP address.
    L3Address destAddr;    // The IP address of the destination for which a route is desired.
    uint32_t destSeqNum;    // The latest sequence number received in the past by the originator for any route towards the destination.
    L3Address originatorAddr;    // The IP address of the node which originated the Route Request.
    uint32_t originatorSeqNum;    // The current sequence number to be used in the route entry pointing towards the originator of the route request.
}

Constructor & Destructor Documentation

◆ Rreq() [1/2]

inet::aodv::Rreq::Rreq ( )

◆ Rreq() [2/2]

inet::aodv::Rreq::Rreq ( const Rreq other)

◆ ~Rreq()

virtual inet::aodv::Rreq::~Rreq ( )
virtual

Member Function Documentation

◆ copy()

void inet::aodv::Rreq::copy ( const Rreq other)
private

◆ dup()

virtual Rreq* inet::aodv::Rreq::dup ( ) const
inlineoverridevirtual

Reimplemented from inet::aodv::AodvControlPacket.

179 {return new Rreq(*this);}

◆ getDestAddr()

virtual const ::inet::L3Address& inet::aodv::Rreq::getDestAddr ( ) const
virtual

◆ getDestAddrForUpdate()

virtual ::inet::L3Address& inet::aodv::Rreq::getDestAddrForUpdate ( )
inline
208 { handleChange();return const_cast<::inet::L3Address&>(const_cast<Rreq*>(this)->getDestAddr());}

◆ getDestOnlyFlag()

virtual bool inet::aodv::Rreq::getDestOnlyFlag ( ) const
virtual

◆ getDestSeqNum()

virtual uint32_t inet::aodv::Rreq::getDestSeqNum ( ) const
virtual

◆ getGratuitousRREPFlag()

virtual bool inet::aodv::Rreq::getGratuitousRREPFlag ( ) const
virtual

◆ getHopCount()

virtual unsigned int inet::aodv::Rreq::getHopCount ( ) const
virtual

◆ getJoinFlag()

virtual bool inet::aodv::Rreq::getJoinFlag ( ) const
virtual

◆ getOriginatorAddr()

virtual const ::inet::L3Address& inet::aodv::Rreq::getOriginatorAddr ( ) const
virtual

◆ getOriginatorAddrForUpdate()

virtual ::inet::L3Address& inet::aodv::Rreq::getOriginatorAddrForUpdate ( )
inline
215 { handleChange();return const_cast<::inet::L3Address&>(const_cast<Rreq*>(this)->getOriginatorAddr());}

◆ getOriginatorSeqNum()

virtual uint32_t inet::aodv::Rreq::getOriginatorSeqNum ( ) const
virtual

◆ getRepairFlag()

virtual bool inet::aodv::Rreq::getRepairFlag ( ) const
virtual

◆ getReserved()

virtual uint16_t inet::aodv::Rreq::getReserved ( ) const
virtual

◆ getRreqId()

virtual uint32_t inet::aodv::Rreq::getRreqId ( ) const
virtual

◆ getUnknownSeqNumFlag()

virtual bool inet::aodv::Rreq::getUnknownSeqNumFlag ( ) const
virtual

◆ operator=()

Rreq& inet::aodv::Rreq::operator= ( const Rreq other)

◆ operator==()

bool inet::aodv::Rreq::operator== ( const Rreq )
protecteddelete

◆ parsimPack()

virtual void inet::aodv::Rreq::parsimPack ( omnetpp::cCommBuffer *  b) const
overridevirtual

◆ parsimUnpack()

virtual void inet::aodv::Rreq::parsimUnpack ( omnetpp::cCommBuffer *  b)
overridevirtual

◆ setDestAddr()

virtual void inet::aodv::Rreq::setDestAddr ( const ::inet::L3Address destAddr)
virtual

◆ setDestOnlyFlag()

virtual void inet::aodv::Rreq::setDestOnlyFlag ( bool  destOnlyFlag)
virtual

◆ setDestSeqNum()

virtual void inet::aodv::Rreq::setDestSeqNum ( uint32_t  destSeqNum)
virtual

◆ setGratuitousRREPFlag()

virtual void inet::aodv::Rreq::setGratuitousRREPFlag ( bool  gratuitousRREPFlag)
virtual

◆ setHopCount()

virtual void inet::aodv::Rreq::setHopCount ( unsigned int  hopCount)
virtual

◆ setJoinFlag()

virtual void inet::aodv::Rreq::setJoinFlag ( bool  joinFlag)
virtual

◆ setOriginatorAddr()

virtual void inet::aodv::Rreq::setOriginatorAddr ( const ::inet::L3Address originatorAddr)
virtual

◆ setOriginatorSeqNum()

virtual void inet::aodv::Rreq::setOriginatorSeqNum ( uint32_t  originatorSeqNum)
virtual

◆ setRepairFlag()

virtual void inet::aodv::Rreq::setRepairFlag ( bool  repairFlag)
virtual

◆ setReserved()

virtual void inet::aodv::Rreq::setReserved ( uint16_t  reserved)
virtual

◆ setRreqId()

virtual void inet::aodv::Rreq::setRreqId ( uint32_t  rreqId)
virtual

◆ setUnknownSeqNumFlag()

virtual void inet::aodv::Rreq::setUnknownSeqNumFlag ( bool  unknownSeqNumFlag)
virtual

Member Data Documentation

◆ destAddr

::inet::L3Address inet::aodv::Rreq::destAddr
protected

◆ destOnlyFlag

bool inet::aodv::Rreq::destOnlyFlag = false
protected

◆ destSeqNum

uint32_t inet::aodv::Rreq::destSeqNum = 0
protected

◆ gratuitousRREPFlag

bool inet::aodv::Rreq::gratuitousRREPFlag = false
protected

◆ hopCount

unsigned int inet::aodv::Rreq::hopCount = 0
protected

◆ joinFlag

bool inet::aodv::Rreq::joinFlag = false
protected

◆ originatorAddr

::inet::L3Address inet::aodv::Rreq::originatorAddr
protected

◆ originatorSeqNum

uint32_t inet::aodv::Rreq::originatorSeqNum = 0
protected

◆ repairFlag

bool inet::aodv::Rreq::repairFlag = false
protected

◆ reserved

uint16_t inet::aodv::Rreq::reserved = 0
protected

◆ rreqId

uint32_t inet::aodv::Rreq::rreqId = 0
protected

◆ unknownSeqNumFlag

bool inet::aodv::Rreq::unknownSeqNumFlag = false
protected

The documentation for this class was generated from the following file:
inet::FieldsChunk::handleChange
virtual void handleChange() override
Definition: FieldsChunk.cc:50
inet::aodv::Rreq::getDestAddr
virtual const ::inet::L3Address & getDestAddr() const
inet::aodv::Rreq::Rreq
Rreq()
inet::aodv::Rreq::getOriginatorAddr
virtual const ::inet::L3Address & getOriginatorAddr() const
inet::L3Address
This class provides the generic interface for network addresses.
Definition: L3Address.h:30