Header for IPv6 Option. More...
#include <ipv6-option-header.h>
Classes | |
struct | Alignment |
represents the alignment requirements of an option header More... |
Public Member Functions | |
Ipv6OptionHeader () | |
Constructor. | |
virtual | ~Ipv6OptionHeader () |
Destructor. | |
virtual uint32_t | Deserialize (Buffer::Iterator start) |
Deserialize the packet. | |
virtual Alignment | GetAlignment () const |
Get the Alignment requirement of this option header. | |
virtual TypeId | GetInstanceTypeId () const |
Get the instance type ID. | |
uint8_t | GetLength () const |
Get the option length. | |
virtual uint32_t | GetSerializedSize () const |
Get the serialized size of the packet. | |
uint8_t | GetType () const |
Get the type of the option. | |
virtual void | Print (std::ostream &os) const |
Print some informations about the packet. | |
virtual void | Serialize (Buffer::Iterator start) const |
Serialize the packet. | |
void | SetLength (uint8_t length) |
Set the option length. | |
void | SetType (uint8_t type) |
Set the type of the option. | |
![]() | |
virtual | ~Header () |
Static Public Member Functions | |
static TypeId | GetTypeId () |
Get the type identificator. |
Private Attributes | |
Buffer | m_data |
The anonymous data of this option. | |
uint8_t | m_length |
The option length. | |
uint8_t | m_type |
The type of the option. |
Additional Inherited Members | |
![]() | |
void | ConstructSelf (const AttributeConstructionList &attributes) |
virtual void | NotifyConstructionCompleted (void) |
Header for IPv6 Option.
Doxygen introspection did not find any typical Config paths.
No Attributes are defined for this type.
No TraceSources are defined for this type.
Definition at line 35 of file ipv6-option-header.h.
ns3::Ipv6OptionHeader::Ipv6OptionHeader | ( | ) |
Constructor.
Definition at line 47 of file ipv6-option-header.cc.
|
virtual |
Destructor.
Definition at line 53 of file ipv6-option-header.cc.
|
virtual |
Deserialize the packet.
start | Buffer iterator |
Implements ns3::Header.
Reimplemented in ns3::Ipv6OptionRouterAlertHeader, ns3::Ipv6OptionJumbogramHeader, ns3::Ipv6OptionPadnHeader, and ns3::Ipv6OptionPad1Header.
Definition at line 97 of file ipv6-option-header.cc.
References ns3::Buffer::AddAtEnd(), ns3::Buffer::Begin(), GetSerializedSize(), m_data, m_length, m_type, ns3::Buffer::Iterator::Next(), ns3::Buffer::Iterator::ReadU8(), visualizer.core::start(), and ns3::Buffer::Iterator::Write().
|
virtual |
Get the Alignment requirement of this option header.
Subclasses should only implement this method, if special alignment is required. Default is no alignment (1n+0).
Reimplemented in ns3::Ipv6OptionRouterAlertHeader, ns3::Ipv6OptionJumbogramHeader, and OptionWithAlignmentHeader.
Definition at line 114 of file ipv6-option-header.cc.
Referenced by ns3::OptionField::AddOption().
|
virtual |
Get the instance type ID.
Implements ns3::ObjectBase.
Reimplemented in ns3::Ipv6OptionRouterAlertHeader, ns3::Ipv6OptionJumbogramHeader, ns3::Ipv6OptionPadnHeader, and ns3::Ipv6OptionPad1Header.
Definition at line 42 of file ipv6-option-header.cc.
References GetTypeId().
uint8_t ns3::Ipv6OptionHeader::GetLength | ( | ) | const |
Get the option length.
Definition at line 72 of file ipv6-option-header.cc.
References m_length.
Referenced by ns3::Ipv6OptionPadnHeader::GetSerializedSize(), ns3::Ipv6OptionJumbogramHeader::GetSerializedSize(), ns3::Ipv6OptionRouterAlertHeader::GetSerializedSize(), ns3::Ipv6OptionPadnHeader::Print(), ns3::Ipv6OptionJumbogramHeader::Print(), ns3::Ipv6OptionRouterAlertHeader::Print(), ns3::Ipv6OptionPadnHeader::Serialize(), ns3::Ipv6OptionJumbogramHeader::Serialize(), and ns3::Ipv6OptionRouterAlertHeader::Serialize().
|
virtual |
Get the serialized size of the packet.
Implements ns3::Header.
Reimplemented in ns3::Ipv6OptionRouterAlertHeader, ns3::Ipv6OptionJumbogramHeader, ns3::Ipv6OptionPadnHeader, ns3::Ipv6OptionPad1Header, OptionWithAlignmentHeader, and OptionWithoutAlignmentHeader.
Definition at line 82 of file ipv6-option-header.cc.
References m_length.
Referenced by ns3::OptionField::AddOption(), and Deserialize().
uint8_t ns3::Ipv6OptionHeader::GetType | ( | void | ) | const |
Get the type of the option.
Definition at line 62 of file ipv6-option-header.cc.
References m_type.
Referenced by TestOptionWithAlignment::DoRun(), TestFulfilledAlignment::DoRun(), ns3::Ipv6OptionPad1Header::Print(), ns3::Ipv6OptionPadnHeader::Print(), ns3::Ipv6OptionJumbogramHeader::Print(), ns3::Ipv6OptionRouterAlertHeader::Print(), ns3::Ipv6OptionPad1Header::Serialize(), ns3::Ipv6OptionPadnHeader::Serialize(), ns3::Ipv6OptionJumbogramHeader::Serialize(), and ns3::Ipv6OptionRouterAlertHeader::Serialize().
|
static |
Get the type identificator.
Reimplemented from ns3::Header.
Reimplemented in ns3::Ipv6OptionRouterAlertHeader, ns3::Ipv6OptionJumbogramHeader, ns3::Ipv6OptionPadnHeader, and ns3::Ipv6OptionPad1Header.
Definition at line 33 of file ipv6-option-header.cc.
References ns3::TypeId::AddConstructor().
Referenced by GetInstanceTypeId().
|
virtual |
Print some informations about the packet.
os | output stream |
Implements ns3::Header.
Reimplemented in ns3::Ipv6OptionRouterAlertHeader, ns3::Ipv6OptionJumbogramHeader, ns3::Ipv6OptionPadnHeader, and ns3::Ipv6OptionPad1Header.
Definition at line 77 of file ipv6-option-header.cc.
References m_type.
|
virtual |
Serialize the packet.
start | Buffer iterator |
Implements ns3::Header.
Reimplemented in ns3::Ipv6OptionRouterAlertHeader, ns3::Ipv6OptionJumbogramHeader, ns3::Ipv6OptionPadnHeader, ns3::Ipv6OptionPad1Header, OptionWithAlignmentHeader, and OptionWithoutAlignmentHeader.
Definition at line 87 of file ipv6-option-header.cc.
References ns3::Buffer::Begin(), ns3::Buffer::End(), m_data, m_length, m_type, visualizer.core::start(), ns3::Buffer::Iterator::Write(), and ns3::Buffer::Iterator::WriteU8().
Referenced by ns3::OptionField::AddOption().
void ns3::Ipv6OptionHeader::SetLength | ( | uint8_t | length | ) |
Set the option length.
length | the option length |
Definition at line 67 of file ipv6-option-header.cc.
References m_length.
Referenced by ns3::Ipv6OptionPadnHeader::Deserialize(), ns3::Ipv6OptionJumbogramHeader::Deserialize(), ns3::Ipv6OptionRouterAlertHeader::Deserialize(), ns3::Ipv6OptionJumbogramHeader::Ipv6OptionJumbogramHeader(), ns3::Ipv6OptionPadnHeader::Ipv6OptionPadnHeader(), and ns3::Ipv6OptionRouterAlertHeader::Ipv6OptionRouterAlertHeader().
void ns3::Ipv6OptionHeader::SetType | ( | uint8_t | type | ) |
Set the type of the option.
type | the type of the option |
Definition at line 57 of file ipv6-option-header.cc.
References m_type.
Referenced by ns3::Ipv6OptionPad1Header::Deserialize(), ns3::Ipv6OptionPadnHeader::Deserialize(), ns3::Ipv6OptionJumbogramHeader::Deserialize(), ns3::Ipv6OptionRouterAlertHeader::Deserialize(), ns3::Ipv6OptionJumbogramHeader::Ipv6OptionJumbogramHeader(), ns3::Ipv6OptionPad1Header::Ipv6OptionPad1Header(), and ns3::Ipv6OptionPadnHeader::Ipv6OptionPadnHeader().
|
private |
The anonymous data of this option.
Definition at line 147 of file ipv6-option-header.h.
Referenced by Deserialize(), and Serialize().
|
private |
The option length.
Definition at line 142 of file ipv6-option-header.h.
Referenced by Deserialize(), GetLength(), GetSerializedSize(), Serialize(), and SetLength().
|
private |
The type of the option.
Definition at line 137 of file ipv6-option-header.h.
Referenced by Deserialize(), GetType(), Print(), Serialize(), and SetType().