|
| | BgpUpdateMessage () |
| |
| | BgpUpdateMessage (const BgpUpdateMessage &other) |
| |
| virtual | ~BgpUpdateMessage () |
| |
| BgpUpdateMessage & | operator= (const BgpUpdateMessage &other) |
| |
| virtual BgpUpdateMessage * | dup () const override |
| |
| virtual void | parsimPack (omnetpp::cCommBuffer *b) const override |
| |
| virtual void | parsimUnpack (omnetpp::cCommBuffer *b) override |
| |
| virtual uint16_t | getWithDrawnRoutesLength () const |
| |
| virtual void | setWithDrawnRoutesLength (uint16_t withDrawnRoutesLength) |
| |
| virtual void | setWithdrawnRoutesArraySize (size_t size) |
| |
| virtual size_t | getWithdrawnRoutesArraySize () const |
| |
| virtual const BgpUpdateWithdrawnRoutes & | getWithdrawnRoutes (size_t k) const |
| |
| virtual BgpUpdateWithdrawnRoutes & | getWithdrawnRoutesForUpdate (size_t k) |
| |
| virtual void | setWithdrawnRoutes (size_t k, const BgpUpdateWithdrawnRoutes &withdrawnRoutes) |
| |
| virtual void | insertWithdrawnRoutes (size_t k, const BgpUpdateWithdrawnRoutes &withdrawnRoutes) |
| |
| void | insertWithdrawnRoutes (const BgpUpdateWithdrawnRoutes &withdrawnRoutes) |
| |
| virtual void | appendWithdrawnRoutes (const BgpUpdateWithdrawnRoutes &withdrawnRoutes) |
| |
| virtual void | eraseWithdrawnRoutes (size_t k) |
| |
| virtual uint16_t | getTotalPathAttributeLength () const |
| |
| virtual void | setTotalPathAttributeLength (uint16_t totalPathAttributeLength) |
| |
| virtual void | setPathAttributesArraySize (size_t size) |
| |
| virtual size_t | getPathAttributesArraySize () const |
| |
| virtual const BgpUpdatePathAttributes * | getPathAttributes (size_t k) const |
| |
| virtual BgpUpdatePathAttributes * | getPathAttributesForUpdate (size_t k) |
| |
| virtual void | setPathAttributes (size_t k, BgpUpdatePathAttributes *pathAttributes) |
| |
| virtual BgpUpdatePathAttributes * | removePathAttributes (size_t k) |
| |
| BgpUpdatePathAttributes * | dropPathAttributes (size_t k) |
| |
| virtual void | insertPathAttributes (size_t k, BgpUpdatePathAttributes *pathAttributes) |
| |
| void | insertPathAttributes (BgpUpdatePathAttributes *pathAttributes) |
| |
| virtual void | appendPathAttributes (BgpUpdatePathAttributes *pathAttributes) |
| |
| virtual void | erasePathAttributes (size_t k) |
| |
| virtual void | setNLRIArraySize (size_t size) |
| |
| virtual size_t | getNLRIArraySize () const |
| |
| virtual const BgpUpdateNlri & | getNLRI (size_t k) const |
| |
| virtual BgpUpdateNlri & | getNLRIForUpdate (size_t k) |
| |
| virtual void | setNLRI (size_t k, const BgpUpdateNlri &NLRI) |
| |
| virtual void | insertNLRI (size_t k, const BgpUpdateNlri &NLRI) |
| |
| void | insertNLRI (const BgpUpdateNlri &NLRI) |
| |
| virtual void | appendNLRI (const BgpUpdateNlri &NLRI) |
| |
| virtual void | eraseNLRI (size_t k) |
| |
| | 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...
|
| |
| | Chunk () |
| |
| | Chunk (const Chunk &other) |
| |
| virtual const Ptr< Chunk > | dupShared () 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< Chunk > | simplify () const |
| | Returns the simplified representation of this chunk eliminating all potential redundancies. More...
|
| |
| const Ptr< Chunk > | peek (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< T > | peek (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 SharingRegionTagSet & | getRegionTags () override |
| | Returns all region tags. More...
|
| |
| int | getNumTags () const |
| | Returns the number of chunk tags. More...
|
| |
| const Ptr< const TagBase > | getTag (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 T > | findTag (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 T > | getTag (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< T > | addTag (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< T > | addTagIfAbsent (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< T > | removeTag (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< T > | removeTagIfPresent (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...
|
| |
| 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 |
| |
|
| 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...
|
| |
| 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 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< Chunk > | deserialize (MemoryInputStream &stream, const std::type_info &typeInfo) |
| | Deserializes a chunk from the given stream. More...
|
| |
| 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 |
| |
| 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 const Ptr< Chunk > | convertChunk (const std::type_info &typeInfo, const Ptr< Chunk > &chunk, b offset, b length, int flags) |
| |
| static const Ptr< Chunk > | convertChunk (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...
|
| |
Class generated from inet/routing/bgpv4/bgpmessage/BgpHeader.msg:215 by opp_msgtool.
//
// Represents a BGPv4 UPDATE message.
//
// see RFC 4271 Section 4.3
//
class BgpUpdateMessage extends BgpHeader
{
type = BGP_UPDATE;
chunkLength = BGP_HEADER_OCTETS + BGP_EMPTY_UPDATE_OCTETS;
totalLength = B(BGP_HEADER_OCTETS + BGP_EMPTY_UPDATE_OCTETS).get(); uint16_t withDrawnRoutesLength = 0; // This 2-octets unsigned integer indicates the total length of
// the Withdrawn Routes field in octets. Its value allows the
// length of the Network Layer Reachability Information field to
// be determined, as specified below.
//
// A value of 0 indicates that no routes are being withdrawn from
// service, and that the WITHDRAWN ROUTES field is not present in
// this UPDATE message. BgpUpdateWithdrawnRoutes withdrawnRoutes[];
uint16_t totalPathAttributeLength = 0; // This 2-octets unsigned integer indicates the total length of
// Path Attributes field in octets. Its value allows the length
// of the Network Layer Reachability field to be determined as
// specified below.
//
// A value of 0 indicates that neither the Network Layer
// Reachability Information field nor the Path Attribute field is
// present in this UPDATE message.
BgpUpdatePathAttributes *pathAttributes[] @owned @allowReplace;
BgpUpdateNlri NLRI[];
}