|
| | Ipv6Header () |
| |
| | Ipv6Header (const Ipv6Header &other) |
| |
| virtual | ~Ipv6Header () |
| |
| Ipv6Header & | operator= (const Ipv6Header &other) |
| |
| virtual Ipv6Header * | dup () const override |
| |
| virtual void | parsimPack (omnetpp::cCommBuffer *b) const override |
| |
| virtual void | parsimUnpack (omnetpp::cCommBuffer *b) override |
| |
| virtual uint8_t | getVersion () const |
| |
| virtual void | setVersion (uint8_t version) |
| |
| virtual const Ipv6Address & | getSrcAddress () const |
| |
| virtual Ipv6Address & | getSrcAddressForUpdate () |
| |
| virtual void | setSrcAddress (const Ipv6Address &srcAddress) |
| |
| virtual const Ipv6Address & | getDestAddress () const |
| |
| virtual Ipv6Address & | getDestAddressForUpdate () |
| |
| virtual void | setDestAddress (const Ipv6Address &destAddress) |
| |
| virtual B | getPayloadLength () const |
| |
| virtual void | setPayloadLength (B payloadLength) |
| |
| virtual short | getTrafficClass () const |
| |
| virtual void | setTrafficClass (short trafficClass) |
| |
| virtual unsigned int | getFlowLabel () const |
| |
| virtual void | setFlowLabel (unsigned int flowLabel) |
| |
| virtual short | getHopLimit () const |
| |
| virtual void | setHopLimit (short hopLimit) |
| |
| virtual IpProtocolId | getProtocolId () const |
| |
| virtual void | setProtocolId (IpProtocolId protocolId) |
| |
| virtual void | setExtensionHeaderArraySize (size_t size) |
| |
| virtual size_t | getExtensionHeaderArraySize () const |
| |
| virtual const Ipv6ExtensionHeader * | getExtensionHeader (size_t k) const |
| |
| virtual Ipv6ExtensionHeader * | getExtensionHeaderForUpdate (size_t k) |
| |
| virtual void | setExtensionHeader (size_t k, Ipv6ExtensionHeader *extensionHeader) |
| |
| virtual Ipv6ExtensionHeader * | removeExtensionHeader (size_t k) |
| |
| Ipv6ExtensionHeader * | dropExtensionHeader (size_t k) |
| |
| virtual void | insertExtensionHeader (size_t k, Ipv6ExtensionHeader *extensionHeader) |
| |
| void | insertExtensionHeader (Ipv6ExtensionHeader *extensionHeader) |
| |
| virtual void | appendExtensionHeader (Ipv6ExtensionHeader *extensionHeader) |
| |
| virtual void | eraseExtensionHeader (size_t k) |
| |
| virtual short | getDscp () const |
| |
| virtual void | setDscp (short dscp) |
| |
| virtual short | getEcn () const |
| |
| virtual void | setEcn (short ecn) |
| |
| virtual Ipv6ExtensionHeader * | findExtensionHeaderByTypeForUpdate (IpProtocolId extensionType, int index=0) |
| | Returns the extension header of the specified type, or nullptr. More...
|
| |
| virtual const Ipv6ExtensionHeader * | findExtensionHeaderByType (IpProtocolId extensionType, int index=0) const |
| |
| virtual void | addExtensionHeader (Ipv6ExtensionHeader *eh) |
| | Adds an extension header to the datagram. More...
|
| |
| virtual B | calculateHeaderByteLength () const |
| | Calculates the length of the Ipv6 header plus the extension headers. More...
|
| |
| virtual B | calculateUnfragmentableHeaderByteLength () const |
| | Calculates the length of the unfragmentable part of Ipv6 header plus the extension headers. More...
|
| |
| virtual B | calculateFragmentLength () const |
| | Calculates the length of the payload and extension headers after the Fragment Header. More...
|
| |
| virtual Ipv6ExtensionHeader * | removeFirstExtensionHeader () |
| | Removes and returns the first extension header of this datagram. More...
|
| |
| virtual Ipv6ExtensionHeader * | removeExtensionHeader (IpProtocolId extensionType) |
| | Removes and returns the first extension header with the given type. More...
|
| |
| virtual L3Address | getSourceAddress () const override |
| |
| virtual void | setSourceAddress (const L3Address &address) override |
| |
| virtual L3Address | getDestinationAddress () const override |
| |
| virtual void | setDestinationAddress (const L3Address &address) override |
| |
| virtual const Protocol * | getProtocol () const override |
| |
| virtual void | setProtocol (const Protocol *protocol) override |
| |
| virtual bool | isFragment () const override |
| |
| | 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 |
| |
Class generated from inet/networklayer/ipv6/Ipv6Header.msg:50 by opp_msgtool.
//
// Ipv6 datagram. RFC 2460 Section 3.
//
// Header fields not explicitly modelled:
// - payload length: will be calculated from encapsulated message length
// and extension headers' length
//
class Ipv6Header extends NetworkHeaderBase
{
chunkLength = IPv6_HEADER_BYTES;
uint8_t version = 6;
Ipv6Address srcAddress;
Ipv6Address destAddress;
B payloadLength = B(-1); // The size of the payload in octets, including any extension headers. The length is set to zero when a Hop-by-Hop extension header carries a Jumbo Payload option.
short trafficClass; // @bits(8) Traffic Class
// OMNeT++ 6.0:
// short __dscp @custom @getter(getDscp) @setter(setDscp); // @bit(6), maps to bits 0-5 of trafficClass
// short __ecn @custom @getter(getEcn) @setter(setEcn); // @bit(2), maps to bits 6-7 of trafficClass unsigned int flowLabel;
short hopLimit = 0;
IpProtocolId protocolId = IP_PROT_NONE; Ipv6ExtensionHeader *extensionHeader[] @owned; // array of extension headers, subclassed from ~Ipv6ExtensionHeader
}