Option field for an DsrFsHeader Enables adding options to an DsrFsHeader. More...
#include "dsr-fs-header.h"
 Inheritance diagram for ns3::dsr::DsrOptionField:
 Inheritance diagram for ns3::dsr::DsrOptionField: Collaboration diagram for ns3::dsr::DsrOptionField:
 Collaboration diagram for ns3::dsr::DsrOptionField:| Public Member Functions | |
| DsrOptionField (uint32_t optionsOffset) | |
| Constructor.  More... | |
| ~DsrOptionField () | |
| Destructor.  More... | |
| void | AddDsrOption (DsrOptionHeader const &option) | 
| Serialize the option, prepending pad1 or padn option as necessary.  More... | |
| uint32_t | Deserialize (Buffer::Iterator start, uint32_t length) | 
| Deserialize the packet.  More... | |
| Buffer | GetDsrOptionBuffer () | 
| Get the buffer.  More... | |
| uint32_t | GetDsrOptionsOffset () | 
| Get the offset where the options begin, measured from the start of the extension header.  More... | |
| uint32_t | GetSerializedSize () const | 
| Get the serialized size of the packet.  More... | |
| void | Serialize (Buffer::Iterator start) const | 
| Serialize all added options.  More... | |
| Private Member Functions | |
| uint32_t | CalculatePad (DsrOptionHeader::Alignment alignment) const | 
| Calculate padding.  More... | |
| Private Attributes | |
| Buffer | m_optionData | 
| Data payload.  More... | |
| uint32_t | m_optionsOffset | 
| Offset.  More... | |
Option field for an DsrFsHeader Enables adding options to an DsrFsHeader.
Implementor's note: Make sure to add the result of OptionField::GetSerializedSize () to your DsrFsHeader::GetSerializedSize () return value. Call OptionField::Serialize and OptionField::Deserialize at the end of your corresponding DsrFsHeader methods.
Definition at line 209 of file dsr-fs-header.h.
| ns3::dsr::DsrOptionField::DsrOptionField | ( | uint32_t | optionsOffset | ) | 
| ns3::dsr::DsrOptionField::~DsrOptionField | ( | ) | 
Destructor.
Definition at line 185 of file dsr-fs-header.cc.
| void ns3::dsr::DsrOptionField::AddDsrOption | ( | DsrOptionHeader const & | option | ) | 
Serialize the option, prepending pad1 or padn option as necessary.
| option | the option header to serialize | 
Definition at line 224 of file dsr-fs-header.cc.
References ns3::Buffer::AddAtEnd(), CalculatePad(), ns3::Buffer::End(), ns3::dsr::DsrOptionHeader::GetAlignment(), ns3::dsr::DsrOptionHeader::GetSerializedSize(), m_optionData, NS_LOG_FUNCTION_NOARGS, NS_LOG_LOGIC, ns3::Buffer::Iterator::Prev(), and ns3::dsr::DsrOptionHeader::Serialize().
Referenced by ns3::dsr::DsrRouting::AddAckReqHeader(), ns3::dsr::DsrRouting::CheckSendBuffer(), DsrFsHeaderTest::DoRun(), DsrRreqHeaderTest::DoRun(), DsrRrepHeaderTest::DoRun(), DsrSRHeaderTest::DoRun(), DsrRerrHeaderTest::DoRun(), DsrAckReqHeaderTest::DoRun(), DsrAckHeaderTest::DoRun(), ns3::dsr::DsrRouting::PacketNewRoute(), ns3::dsr::DsrOptionRreq::Process(), ns3::dsr::DsrOptionRrep::Process(), ns3::dsr::DsrRouting::SalvagePacket(), ns3::dsr::DsrRouting::Send(), ns3::dsr::DsrRouting::SendErrorRequest(), ns3::dsr::DsrRouting::SendGratuitousReply(), ns3::dsr::DsrRouting::SendInitialRequest(), ns3::dsr::DsrRouting::SendPacketFromBuffer(), and ns3::dsr::DsrRouting::SendUnreachError().
 Here is the call graph for this function:
 Here is the call graph for this function: Here is the caller graph for this function:
 Here is the caller graph for this function:| 
 | private | 
Calculate padding.
| alignment | alignment | 
Definition at line 248 of file dsr-fs-header.cc.
References ns3::dsr::DsrOptionHeader::Alignment::factor, ns3::Buffer::GetSize(), m_optionData, m_optionsOffset, and ns3::dsr::DsrOptionHeader::Alignment::offset.
Referenced by AddDsrOption(), GetSerializedSize(), and Serialize().
 Here is the call graph for this function:
 Here is the call graph for this function: Here is the caller graph for this function:
 Here is the caller graph for this function:| uint32_t ns3::dsr::DsrOptionField::Deserialize | ( | Buffer::Iterator | start, | 
| uint32_t | length | ||
| ) | 
Deserialize the packet.
| start | Buffer iterator | 
| length | length | 
Definition at line 214 of file dsr-fs-header.cc.
References ns3::Buffer::AddAtEnd(), ns3::Buffer::Begin(), m_optionData, visualizer.core::start(), and ns3::Buffer::Iterator::Write().
Referenced by ns3::dsr::DsrRoutingHeader::Deserialize().
 Here is the call graph for this function:
 Here is the call graph for this function: Here is the caller graph for this function:
 Here is the caller graph for this function:| Buffer ns3::dsr::DsrOptionField::GetDsrOptionBuffer | ( | ) | 
Get the buffer.
Definition at line 258 of file dsr-fs-header.cc.
References m_optionData.
| uint32_t ns3::dsr::DsrOptionField::GetDsrOptionsOffset | ( | ) | 
Get the offset where the options begin, measured from the start of the extension header.
Definition at line 253 of file dsr-fs-header.cc.
References m_optionsOffset.
Referenced by ns3::dsr::DsrRouting::AddAckReqHeader(), ns3::dsr::DsrRouting::CancelPacketTimerNextHop(), ns3::dsr::DsrRouting::CheckSendBuffer(), ns3::dsr::DsrRouting::PromiscReceive(), ns3::dsr::DsrRouting::Receive(), and ns3::dsr::DsrRouting::SalvagePacket().
 Here is the caller graph for this function:
 Here is the caller graph for this function:| uint32_t ns3::dsr::DsrOptionField::GetSerializedSize | ( | void | ) | const | 
Get the serialized size of the packet.
Definition at line 189 of file dsr-fs-header.cc.
References CalculatePad(), ns3::Buffer::GetSize(), and m_optionData.
Referenced by ns3::dsr::DsrRoutingHeader::GetSerializedSize().
 Here is the call graph for this function:
 Here is the call graph for this function: Here is the caller graph for this function:
 Here is the caller graph for this function:| void ns3::dsr::DsrOptionField::Serialize | ( | Buffer::Iterator | start | ) | const | 
Serialize all added options.
| start | Buffer iterator | 
Definition at line 195 of file dsr-fs-header.cc.
References ns3::Buffer::Begin(), CalculatePad(), ns3::Buffer::End(), m_optionData, NS_LOG_LOGIC, ns3::dsr::DsrOptionPad1Header::Serialize(), ns3::dsr::DsrOptionPadnHeader::Serialize(), and visualizer.core::start().
Referenced by ns3::dsr::DsrRoutingHeader::Serialize().
 Here is the call graph for this function:
 Here is the call graph for this function: Here is the caller graph for this function:
 Here is the caller graph for this function:| 
 | private | 
Data payload.
Definition at line 265 of file dsr-fs-header.h.
Referenced by AddDsrOption(), CalculatePad(), Deserialize(), GetDsrOptionBuffer(), GetSerializedSize(), and Serialize().
| 
 | private | 
Offset.
Definition at line 269 of file dsr-fs-header.h.
Referenced by CalculatePad(), and GetDsrOptionsOffset().