A packet or message TLV. More...
#include <packetbb.h>


Public Member Functions | |
| void | SetType (uint8_t type) |
| Sets the type of this TLV. | |
| uint8_t | GetType (void) const |
| void | SetTypeExt (uint8_t type) |
| Sets the type extension of this TLV. | |
| uint8_t | GetTypeExt (void) const |
| bool | HasTypeExt (void) const |
| Tests whether or not this TLV has a type extension. | |
| void | SetValue (Buffer start) |
| Sets the value of this message to the specified buffer. | |
| void | SetValue (const uint8_t *buffer, uint32_t size) |
| Sets the value of this message to a buffer with the specified data. | |
| Buffer | GetValue (void) const |
| bool | HasValue (void) const |
| Tests whether or not this TLV has a value. | |
| uint32_t | GetSerializedSize (void) const |
| void | Serialize (Buffer::Iterator &start) const |
| Serializes this TLV into the specified buffer. | |
| void | Deserialize (Buffer::Iterator &start) |
| Deserializes a TLV from the specified buffer. | |
| void | Print (std::ostream &os) const |
| Pretty-prints the contents of this TLV. | |
| void | Print (std::ostream &os, int level) const |
| Pretty-prints the contents of this TLV, with specified indentation. | |
| bool | operator== (const PbbTlv &other) const |
| bool | operator!= (const PbbTlv &other) const |
Protected Member Functions | |
| void | SetIndexStart (uint8_t index) |
| uint8_t | GetIndexStart (void) const |
| bool | HasIndexStart (void) const |
| void | SetIndexStop (uint8_t index) |
| uint8_t | GetIndexStop (void) const |
| bool | HasIndexStop (void) const |
| void | SetMultivalue (bool isMultivalue) |
| bool | IsMultivalue (void) const |
A packet or message TLV.
| void ns3::PbbTlv::Deserialize | ( | Buffer::Iterator & | start | ) |
Deserializes a TLV from the specified buffer.
| start | a reference to the point in a buffer to begin deserializing. |
Users should not need to call this. TLVs will be deserialized by their containing blocks.
| uint32_t ns3::PbbTlv::GetSerializedSize | ( | void | ) | const |
| uint8_t ns3::PbbTlv::GetType | ( | void | ) | const |
| uint8_t ns3::PbbTlv::GetTypeExt | ( | void | ) | const |
Calling this while HasTypeExt is False is undefined. Make sure you check it first. This will be checked by an assert in debug builds.
| Buffer ns3::PbbTlv::GetValue | ( | void | ) | const |
Calling this while HasValue is False is undefined. Make sure you check it first. This will be checked by an assert in debug builds.
| bool ns3::PbbTlv::HasTypeExt | ( | void | ) | const |
Tests whether or not this TLV has a type extension.
This should be called before calling GetTypeExt to make sure there actually is one.
| bool ns3::PbbTlv::HasValue | ( | void | ) | const |
Tests whether or not this TLV has a value.
This should be called before calling GetTypeExt to make sure there actually is one.
| void ns3::PbbTlv::Print | ( | std::ostream & | os, | |
| int | level | |||
| ) | const |
Pretty-prints the contents of this TLV, with specified indentation.
| os | a stream object to print to. | |
| level | level of indentation. |
This probably never needs to be called by users. This is used when recursively printing sub-objects.
| void ns3::PbbTlv::Print | ( | std::ostream & | os | ) | const |
Pretty-prints the contents of this TLV.
| os | a stream object to print to. |
| void ns3::PbbTlv::Serialize | ( | Buffer::Iterator & | start | ) | const |
Serializes this TLV into the specified buffer.
| start | a reference to the point in a buffer to begin serializing. |
Users should not need to call this. TLVs will be serialized by their containing blocks.
| void ns3::PbbTlv::SetType | ( | uint8_t | type | ) |
Sets the type of this TLV.
| type | the type value to set. |
| void ns3::PbbTlv::SetTypeExt | ( | uint8_t | type | ) |
Sets the type extension of this TLV.
| type | the type extension value to set. |
The type extension is like a sub-type used to further distinguish between TLVs of the same type.
| void ns3::PbbTlv::SetValue | ( | Buffer | start | ) |
Sets the value of this message to the specified buffer.
| start | a buffer instance. |
The buffer is _not_ copied until this TLV is serialized. You should not change the contents of the buffer you pass in to this function.
| void ns3::PbbTlv::SetValue | ( | const uint8_t * | buffer, | |
| uint32_t | size | |||
| ) |
Sets the value of this message to a buffer with the specified data.
| buffer | a pointer to data to put in the TLVs buffer. | |
| size | the size of the buffer. |
The buffer *is copied* into a *new buffer instance*. You can free the data in the buffer provided anytime you wish.
1.7.1