Main PacketBB Packet object. More...
#include <packetbb.h>
Public Types | |
typedef std::list< Ptr< PbbTlv > >::iterator | TlvIterator |
typedef std::list< Ptr< PbbTlv > >::const_iterator | ConstTlvIterator |
typedef std::list< Ptr < PbbMessage > >::iterator | MessageIterator |
typedef std::list< Ptr < PbbMessage > >::const_iterator | ConstMessageIterator |
Public Member Functions | |
uint8_t | GetVersion (void) const |
void | SetSequenceNumber (uint16_t number) |
Sets the sequence number of this packet. | |
uint16_t | GetSequenceNumber (void) const |
bool | HasSequenceNumber (void) const |
Tests whether or not this packet has a sequence number. | |
TlvIterator | TlvBegin (void) |
ConstTlvIterator | TlvBegin (void) const |
TlvIterator | TlvEnd (void) |
ConstTlvIterator | TlvEnd (void) const |
int | TlvSize (void) const |
bool | TlvEmpty (void) const |
Ptr< PbbTlv > | TlvFront (void) |
const Ptr< PbbTlv > | TlvFront (void) const |
Ptr< PbbTlv > | TlvBack (void) |
const Ptr< PbbTlv > | TlvBack (void) const |
void | TlvPushFront (Ptr< PbbTlv > tlv) |
Prepends a packet TLV to the front of this packet. | |
void | TlvPopFront (void) |
Removes a packet TLV from the front of this packet. | |
void | TlvPushBack (Ptr< PbbTlv > tlv) |
Appends a packet TLV to the back of this packet. | |
void | TlvPopBack (void) |
Removes a packet TLV from the back of this block. | |
TlvIterator | Erase (TlvIterator position) |
Removes the packet TLV at the specified position. | |
TlvIterator | Erase (TlvIterator first, TlvIterator last) |
Removes all packet TLVs from [first, last) (includes first, not includes last). | |
void | TlvClear (void) |
Removes all packet TLVs from this packet. | |
MessageIterator | MessageBegin (void) |
ConstMessageIterator | MessageBegin (void) const |
MessageIterator | MessageEnd (void) |
ConstMessageIterator | MessageEnd (void) const |
int | MessageSize (void) const |
bool | MessageEmpty (void) const |
Ptr< PbbMessage > | MessageFront (void) |
const Ptr< PbbMessage > | MessageFront (void) const |
Ptr< PbbMessage > | MessageBack (void) |
const Ptr< PbbMessage > | MessageBack (void) const |
void | MessagePushFront (Ptr< PbbMessage > message) |
Prepends a message to the front of this packet. | |
void | MessagePopFront (void) |
Removes a message from the front of this packet. | |
void | MessagePushBack (Ptr< PbbMessage > message) |
Appends a message to the back of this packet. | |
void | MessagePopBack (void) |
Removes a message from the back of this packet. | |
MessageIterator | Erase (MessageIterator position) |
Removes the message at the specified position. | |
MessageIterator | Erase (MessageIterator first, MessageIterator last) |
Removes all messages from [first, last) (includes first, not includes last). | |
void | MessageClear (void) |
Removes all messages from this packet. | |
virtual TypeId | GetInstanceTypeId (void) const |
virtual uint32_t | GetSerializedSize (void) const |
virtual void | Serialize (Buffer::Iterator start) const |
Serializes this packet into the specified buffer. | |
virtual uint32_t | Deserialize (Buffer::Iterator start) |
Deserializes a packet from the specified buffer. | |
virtual void | Print (std::ostream &os) const |
Pretty-prints the contents of this block. | |
bool | operator== (const PbbPacket &other) const |
bool | operator!= (const PbbPacket &other) const |
Static Public Member Functions | |
static TypeId | GetTypeId (void) |
This method returns the TypeId associated to ns3::PbbPacket. |
Main PacketBB Packet object.
A PacketBB packet is made up of zero or more packet TLVs (PbbTlv), and zero or more messages (PbbMessage).
See: http://tools.ietf.org/html/rfc5444 for details.
virtual uint32_t ns3::PbbPacket::Deserialize | ( | Buffer::Iterator | start | ) | [virtual] |
Deserializes a packet from the specified buffer.
start | start offset |
If this returns a number smaller than the total number of bytes in the buffer, there was an error.
Implements ns3::Header.
MessageIterator ns3::PbbPacket::Erase | ( | MessageIterator | first, | |
MessageIterator | last | |||
) |
Removes all messages from [first, last) (includes first, not includes last).
first | an Iterator pointing to the first message to erase (inclusive). | |
last | an Iterator pointing to the element past the last message to erase. |
MessageIterator ns3::PbbPacket::Erase | ( | MessageIterator | position | ) |
Removes the message at the specified position.
position | an Iterator pointing to the message to erase. |
TlvIterator ns3::PbbPacket::Erase | ( | TlvIterator | first, | |
TlvIterator | last | |||
) |
Removes all packet TLVs from [first, last) (includes first, not includes last).
first | an Iterator pointing to the first packet TLV to erase (inclusive). | |
last | an Iterator pointing to the element past the last packet TLV to erase. |
TlvIterator ns3::PbbPacket::Erase | ( | TlvIterator | position | ) |
Removes the packet TLV at the specified position.
position | an Iterator pointing to the packet TLV to erase. |
virtual TypeId ns3::PbbPacket::GetInstanceTypeId | ( | void | ) | const [virtual] |
This method is typically implemented by ns3::Object::GetInstanceTypeId but some classes which derive from ns3::ObjectBase directly have to implement it themselves.
Implements ns3::ObjectBase.
uint16_t ns3::PbbPacket::GetSequenceNumber | ( | void | ) | const |
Calling this while HasSequenceNumber is False is undefined. Make sure you check it first. This will be checked by an assert in debug builds.
virtual uint32_t ns3::PbbPacket::GetSerializedSize | ( | void | ) | const [virtual] |
Implements ns3::Header.
static TypeId ns3::PbbPacket::GetTypeId | ( | void | ) | [static] |
This method returns the TypeId associated to ns3::PbbPacket.
No Attributes defined for this type.
No TraceSources defined for this type.
Reimplemented from ns3::Header.
uint8_t ns3::PbbPacket::GetVersion | ( | void | ) | const |
This will always return 0 for packets constructed using this API.
bool ns3::PbbPacket::HasSequenceNumber | ( | void | ) | const |
Tests whether or not this packet has a sequence number.
This should be called before calling GetSequenceNumber to make sure there actually is one.
const Ptr<PbbMessage> ns3::PbbPacket::MessageBack | ( | void | ) | const |
Ptr<PbbMessage> ns3::PbbPacket::MessageBack | ( | void | ) |
ConstMessageIterator ns3::PbbPacket::MessageBegin | ( | void | ) | const |
MessageIterator ns3::PbbPacket::MessageBegin | ( | void | ) |
bool ns3::PbbPacket::MessageEmpty | ( | void | ) | const |
ConstMessageIterator ns3::PbbPacket::MessageEnd | ( | void | ) | const |
MessageIterator ns3::PbbPacket::MessageEnd | ( | void | ) |
const Ptr<PbbMessage> ns3::PbbPacket::MessageFront | ( | void | ) | const |
Ptr<PbbMessage> ns3::PbbPacket::MessageFront | ( | void | ) |
void ns3::PbbPacket::MessagePushBack | ( | Ptr< PbbMessage > | message | ) |
Appends a message to the back of this packet.
message | a smart pointer to the message to append. |
void ns3::PbbPacket::MessagePushFront | ( | Ptr< PbbMessage > | message | ) |
Prepends a message to the front of this packet.
message | a smart pointer to the message to prepend. |
int ns3::PbbPacket::MessageSize | ( | void | ) | const |
virtual void ns3::PbbPacket::Print | ( | std::ostream & | os | ) | const [virtual] |
Pretty-prints the contents of this block.
os | a stream object to print to. |
Implements ns3::Header.
virtual void ns3::PbbPacket::Serialize | ( | Buffer::Iterator | start | ) | const [virtual] |
Serializes this packet into the specified buffer.
start | a reference to the point in a buffer to begin serializing. |
Implements ns3::Header.
void ns3::PbbPacket::SetSequenceNumber | ( | uint16_t | number | ) |
Sets the sequence number of this packet.
number | the sequence number. |
ConstTlvIterator ns3::PbbPacket::TlvBegin | ( | void | ) | const |
TlvIterator ns3::PbbPacket::TlvBegin | ( | void | ) |
bool ns3::PbbPacket::TlvEmpty | ( | void | ) | const |
ConstTlvIterator ns3::PbbPacket::TlvEnd | ( | void | ) | const |
TlvIterator ns3::PbbPacket::TlvEnd | ( | void | ) |
Appends a packet TLV to the back of this packet.
tlv | a smart pointer to the packet TLV to append. |
Prepends a packet TLV to the front of this packet.
tlv | a smart pointer to the packet TLV to prepend. |
int ns3::PbbPacket::TlvSize | ( | void | ) | const |