#include <dsr-fs-header.h>
Inheritance 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... | |
Definition at line 210 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 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 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, ns3::Buffer::Iterator::Read(), and ns3::Buffer::Iterator::Write().
Referenced by ns3::dsr::DsrRoutingHeader::Deserialize().
Here is the call 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:| 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 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 ns3::Buffer::Iterator::Write().
Referenced by ns3::dsr::DsrRoutingHeader::Serialize().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Data payload.
Definition at line 266 of file dsr-fs-header.h.
Referenced by AddDsrOption(), CalculatePad(), Deserialize(), GetDsrOptionBuffer(), GetSerializedSize(), and Serialize().
|
private |
Offset.
Definition at line 270 of file dsr-fs-header.h.
Referenced by CalculatePad(), and GetDsrOptionsOffset().