Header of Dsr Option Source Route. More...
#include "dsr-option-header.h"
 Inheritance diagram for ns3::dsr::DsrOptionSRHeader:
 Inheritance diagram for ns3::dsr::DsrOptionSRHeader: Collaboration diagram for ns3::dsr::DsrOptionSRHeader:
 Collaboration diagram for ns3::dsr::DsrOptionSRHeader:| Public Types | |
| typedef void(* | TracedCallback) (const DsrOptionSRHeader &header) | 
| TracedCallback signature for DsrOptionSrHeader. | |
| Public Member Functions | |
| DsrOptionSRHeader () | |
| Constructor. | |
| ~DsrOptionSRHeader () override | |
| Destructor. | |
| uint32_t | Deserialize (Buffer::Iterator start) override | 
| Deserialize the packet. | |
| Alignment | GetAlignment () const override | 
| Get the Alignment requirement of this option header. | |
| TypeId | GetInstanceTypeId () const override | 
| Get the instance type ID. | |
| Ipv4Address | GetNodeAddress (uint8_t index) const | 
| Get a Node IPv4 Address. | |
| uint8_t | GetNodeListSize () const | 
| Get the node list size which is the number of ip address of the route. | |
| std::vector< Ipv4Address > | GetNodesAddress () const | 
| Get the vector of ipv4 address. | |
| uint8_t | GetSalvage () const | 
| Get the salvage value for a packet. | |
| uint8_t | GetSegmentsLeft () const | 
| Get the number of segments left to send. | |
| uint32_t | GetSerializedSize () const override | 
| Get the serialized size of the packet. | |
| void | Print (std::ostream &os) const override | 
| Print some information about the packet. | |
| void | Serialize (Buffer::Iterator start) const override | 
| Serialize the packet. | |
| void | SetNodeAddress (uint8_t index, Ipv4Address addr) | 
| Set a Node IPv4 Address. | |
| void | SetNodesAddress (std::vector< Ipv4Address > ipv4Address) | 
| Set the vector of ipv4 address. | |
| void | SetNumberAddress (uint8_t n) | 
| Set the number of ipv4 address. | |
| void | SetSalvage (uint8_t salvage) | 
| Set the salvage value for a packet. | |
| void | SetSegmentsLeft (uint8_t segmentsLeft) | 
| Set the number of segments left to send. | |
|  Public Member Functions inherited from ns3::dsr::DsrOptionHeader | |
| DsrOptionHeader () | |
| Constructor. | |
| ~DsrOptionHeader () override | |
| Destructor. | |
| uint8_t | GetLength () const | 
| Get the option length. | |
| uint8_t | GetType () const | 
| Get the type of the option. | |
| void | SetLength (uint8_t length) | 
| Set the option length. | |
| void | SetType (uint8_t type) | 
| Set the type of the option. | |
|  Public Member Functions inherited from ns3::Header | |
| ~Header () override | |
| virtual uint32_t | Deserialize (Buffer::Iterator start, Buffer::Iterator end) | 
| Deserialize the object from a buffer iterator. | |
|  Public Member Functions inherited from ns3::ObjectBase | |
| virtual | ~ObjectBase () | 
| Virtual destructor. | |
| void | GetAttribute (std::string name, AttributeValue &value, bool permissive=false) const | 
| Get the value of an attribute, raising fatal errors if unsuccessful. | |
| bool | GetAttributeFailSafe (std::string name, AttributeValue &value) const | 
| Get the value of an attribute without raising errors. | |
| void | SetAttribute (std::string name, const AttributeValue &value) | 
| Set a single attribute, raising fatal errors if unsuccessful. | |
| bool | SetAttributeFailSafe (std::string name, const AttributeValue &value) | 
| Set a single attribute without raising errors. | |
| bool | TraceConnect (std::string name, std::string context, const CallbackBase &cb) | 
| Connect a TraceSource to a Callback with a context. | |
| bool | TraceConnectWithoutContext (std::string name, const CallbackBase &cb) | 
| Connect a TraceSource to a Callback without a context. | |
| bool | TraceDisconnect (std::string name, std::string context, const CallbackBase &cb) | 
| Disconnect from a TraceSource a Callback previously connected with a context. | |
| bool | TraceDisconnectWithoutContext (std::string name, const CallbackBase &cb) | 
| Disconnect from a TraceSource a Callback previously connected without a context. | |
| Static Public Member Functions | |
| static TypeId | GetTypeId () | 
| Get the type identificator. | |
|  Static Public Member Functions inherited from ns3::dsr::DsrOptionHeader | |
| static TypeId | GetTypeId () | 
| Get the type identificator. | |
|  Static Public Member Functions inherited from ns3::Header | |
| static TypeId | GetTypeId () | 
| Get the type ID. | |
|  Static Public Member Functions inherited from ns3::Chunk | |
| static TypeId | GetTypeId () | 
| Get the type ID. | |
|  Static Public Member Functions inherited from ns3::ObjectBase | |
| static TypeId | GetTypeId () | 
| Get the type ID. | |
| Private Types | |
| typedef std::vector< Ipv4Address > | VectorIpv4Address_t | 
| A vector of IPv4 Address. | |
| Private Attributes | |
| Ipv4Address | m_address | 
| The ip address header deserialize to. | |
| VectorIpv4Address_t | m_ipv4Address | 
| The vector of Nodes' IPv4 Address. | |
| uint8_t | m_salvage | 
| Number of salvage times for a packet. | |
| uint8_t | m_segmentsLeft | 
| Number of left segments. | |
| Additional Inherited Members | |
|  Protected Member Functions inherited from ns3::ObjectBase | |
| void | ConstructSelf (const AttributeConstructionList &attributes) | 
| Complete construction of ObjectBase; invoked by derived classes. | |
| virtual void | NotifyConstructionCompleted () | 
| Notifier called once the ObjectBase is fully constructed. | |
|  Related Symbols inherited from ns3::ObjectBase | |
| static TypeId | GetObjectIid () | 
| Ensure the TypeId for ObjectBase gets fully configured to anchor the inheritance tree properly. | |
Header of Dsr Option Source Route.
Introspection did not find any typical Config paths 
 No Attributes are defined for this type 
 No TraceSources are defined for this type 
 Group: Dsr
 Size of this type is 88 bytes (on a 64-bit architecture).
Source Route (SR) Message Format | 0 | 1 | 2 | 3 | 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Option Type | Opt Data Len |F|L|Reservd|Salvage| Segs Left | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Address[1] | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Address[2] | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ... | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Address[n] | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 
Definition at line 546 of file dsr-option-header.h.
| typedef void(* ns3::dsr::DsrOptionSRHeader::TracedCallback) (const DsrOptionSRHeader &header) | 
TracedCallback signature for DsrOptionSrHeader.
| [in] | header | The DsrOptionsSRHeader | 
Definition at line 651 of file dsr-option-header.h.
| 
 | private | 
A vector of IPv4 Address.
Definition at line 669 of file dsr-option-header.h.
| ns3::dsr::DsrOptionSRHeader::DsrOptionSRHeader | ( | ) | 
Constructor.
Definition at line 573 of file dsr-option-header.cc.
References m_ipv4Address, m_segmentsLeft, ns3::dsr::DsrOptionHeader::SetLength(), and ns3::dsr::DsrOptionHeader::SetType().
Referenced by GetTypeId().
 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:| 
 | override | 
Destructor.
Definition at line 581 of file dsr-option-header.cc.
| 
 | overridevirtual | 
Deserialize the packet.
| start | Buffer iterator | 
Reimplemented from ns3::dsr::DsrOptionHeader.
Definition at line 685 of file dsr-option-header.cc.
References ns3::Ipv4Address::Deserialize(), GetSerializedSize(), m_address, m_ipv4Address, m_salvage, m_segmentsLeft, ns3::Buffer::Iterator::Read(), ns3::Buffer::Iterator::ReadU8(), ns3::dsr::DsrOptionHeader::SetLength(), SetNodeAddress(), and ns3::dsr::DsrOptionHeader::SetType().
 Here is the call graph for this function:
 Here is the call graph for this function:| 
 | overridevirtual | 
Get the Alignment requirement of this option header.
Reimplemented from ns3::dsr::DsrOptionHeader.
Definition at line 706 of file dsr-option-header.cc.
| 
 | overridevirtual | 
Get the instance type ID.
Reimplemented from ns3::dsr::DsrOptionHeader.
Definition at line 568 of file dsr-option-header.cc.
References GetTypeId().
 Here is the call graph for this function:
 Here is the call graph for this function:| Ipv4Address ns3::dsr::DsrOptionSRHeader::GetNodeAddress | ( | uint8_t | index | ) | const | 
| index | the index of the IPv4 Address | 
Definition at line 636 of file dsr-option-header.cc.
References m_ipv4Address.
Referenced by DsrSRHeaderTest::DoRun(), ns3::dsr::DsrOptionRerr::DoSendError(), and ns3::dsr::DsrOptionSR::Process().
 Here is the caller graph for this function:
 Here is the caller graph for this function:| uint8_t ns3::dsr::DsrOptionSRHeader::GetNodeListSize | ( | ) | const | 
Get the node list size which is the number of ip address of the route.
Definition at line 642 of file dsr-option-header.cc.
References m_ipv4Address.
| std::vector< Ipv4Address > ns3::dsr::DsrOptionSRHeader::GetNodesAddress | ( | ) | const | 
Get the vector of ipv4 address.
Definition at line 624 of file dsr-option-header.cc.
References m_ipv4Address.
Referenced by ns3::dsr::DsrRouting::CancelPacketTimerNextHop(), ns3::dsr::DsrOptionRerr::DoSendError(), ns3::dsr::DsrOptionSR::Process(), and ns3::dsr::DsrRouting::SendPacketFromBuffer().
 Here is the caller graph for this function:
 Here is the caller graph for this function:| uint8_t ns3::dsr::DsrOptionSRHeader::GetSalvage | ( | ) | const | 
Get the salvage value for a packet.
Definition at line 604 of file dsr-option-header.cc.
References m_salvage.
Referenced by ns3::dsr::DsrRouting::CancelPacketTimerNextHop(), DsrSRHeaderTest::DoRun(), ns3::dsr::DsrOptionRerr::DoSendError(), ns3::dsr::DsrOptionSR::Process(), and ns3::dsr::DsrRouting::SalvagePacket().
 Here is the caller graph for this function:
 Here is the caller graph for this function:| uint8_t ns3::dsr::DsrOptionSRHeader::GetSegmentsLeft | ( | ) | const | 
Get the number of segments left to send.
Definition at line 592 of file dsr-option-header.cc.
References m_segmentsLeft.
Referenced by DsrSRHeaderTest::DoRun(), ns3::dsr::DsrOptionRerr::DoSendError(), ns3::dsr::DsrRouting::ForwardPacket(), and ns3::dsr::DsrOptionSR::Process().
 Here is the caller graph for this function:
 Here is the caller graph for this function:| 
 | overridevirtual | 
Get the serialized size of the packet.
Reimplemented from ns3::dsr::DsrOptionHeader.
Definition at line 661 of file dsr-option-header.cc.
References m_ipv4Address.
Referenced by Deserialize(), ns3::dsr::DsrOptionRerr::DoSendError(), and ns3::dsr::DsrOptionSR::Process().
 Here is the caller graph for this function:
 Here is the caller graph for this function:| 
 | static | 
Get the type identificator.
Definition at line 558 of file dsr-option-header.cc.
References DsrOptionSRHeader(), and ns3::TypeId::AddConstructor().
Referenced by GetInstanceTypeId().
 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:| 
 | overridevirtual | 
Print some information about the packet.
| os | output stream | 
Reimplemented from ns3::dsr::DsrOptionHeader.
Definition at line 648 of file dsr-option-header.cc.
References ns3::dsr::DsrOptionHeader::GetLength(), ns3::dsr::DsrOptionHeader::GetType(), and m_ipv4Address.
Referenced by ns3::dsr::operator<<().
 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:| 
 | overridevirtual | 
Serialize the packet.
| start | Buffer iterator | 
Reimplemented from ns3::dsr::DsrOptionHeader.
Definition at line 667 of file dsr-option-header.cc.
References ns3::dsr::DsrOptionHeader::GetLength(), ns3::dsr::DsrOptionHeader::GetType(), m_ipv4Address, m_salvage, m_segmentsLeft, ns3::Buffer::Iterator::Write(), and ns3::Buffer::Iterator::WriteU8().
 Here is the call graph for this function:
 Here is the call graph for this function:| void ns3::dsr::DsrOptionSRHeader::SetNodeAddress | ( | uint8_t | index, | 
| Ipv4Address | addr ) | 
Definition at line 630 of file dsr-option-header.cc.
References m_ipv4Address.
Referenced by Deserialize().
 Here is the caller graph for this function:
 Here is the caller graph for this function:| void ns3::dsr::DsrOptionSRHeader::SetNodesAddress | ( | std::vector< Ipv4Address > | ipv4Address | ) | 
Set the vector of ipv4 address.
| ipv4Address | the vector of ipv4 address | 
Definition at line 617 of file dsr-option-header.cc.
References m_ipv4Address, and ns3::dsr::DsrOptionHeader::SetLength().
Referenced by ns3::dsr::DsrRouting::CheckSendBuffer(), DsrSRHeaderTest::DoRun(), ns3::dsr::DsrOptionRerr::DoSendError(), ns3::dsr::DsrRouting::PacketNewRoute(), ns3::dsr::DsrOptionRrep::Process(), ns3::dsr::DsrOptionRreq::Process(), ns3::dsr::DsrOptionSR::Process(), ns3::dsr::DsrRouting::RouteRequestTimerExpire(), ns3::dsr::DsrRouting::SalvagePacket(), ns3::dsr::DsrRouting::Send(), ns3::dsr::DsrRouting::SendErrorRequest(), 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:| void ns3::dsr::DsrOptionSRHeader::SetNumberAddress | ( | uint8_t | n | ) | 
Set the number of ipv4 address.
| n | the number of ipv4' address | 
Definition at line 610 of file dsr-option-header.cc.
References m_ipv4Address.
Referenced by ns3::dsr::DsrRouting::AddAckReqHeader(), ns3::dsr::DsrRouting::CancelPacketTimerNextHop(), DsrSRHeaderTest::DoRun(), ns3::dsr::DsrOptionRerr::DoSendError(), ns3::dsr::DsrOptionSR::Process(), and ns3::dsr::DsrRouting::SalvagePacket().
 Here is the caller graph for this function:
 Here is the caller graph for this function:| void ns3::dsr::DsrOptionSRHeader::SetSalvage | ( | uint8_t | salvage | ) | 
Set the salvage value for a packet.
| salvage | The salvage value of the packet | 
Definition at line 598 of file dsr-option-header.cc.
References m_salvage.
Referenced by ns3::dsr::DsrRouting::CheckSendBuffer(), DsrSRHeaderTest::DoRun(), ns3::dsr::DsrOptionRerr::DoSendError(), ns3::dsr::DsrRouting::PacketNewRoute(), ns3::dsr::DsrOptionRrep::Process(), ns3::dsr::DsrOptionRreq::Process(), ns3::dsr::DsrOptionSR::Process(), ns3::dsr::DsrRouting::RouteRequestTimerExpire(), ns3::dsr::DsrRouting::SalvagePacket(), ns3::dsr::DsrRouting::Send(), and ns3::dsr::DsrRouting::SendErrorRequest().
 Here is the caller graph for this function:
 Here is the caller graph for this function:| void ns3::dsr::DsrOptionSRHeader::SetSegmentsLeft | ( | uint8_t | segmentsLeft | ) | 
Set the number of segments left to send.
| segmentsLeft | The segments left | 
Definition at line 586 of file dsr-option-header.cc.
References m_segmentsLeft.
Referenced by ns3::dsr::DsrRouting::CheckSendBuffer(), DsrSRHeaderTest::DoRun(), ns3::dsr::DsrOptionRerr::DoSendError(), ns3::dsr::DsrRouting::PacketNewRoute(), ns3::dsr::DsrOptionRrep::Process(), ns3::dsr::DsrOptionRreq::Process(), ns3::dsr::DsrOptionSR::Process(), ns3::dsr::DsrRouting::RouteRequestTimerExpire(), ns3::dsr::DsrRouting::SalvagePacket(), ns3::dsr::DsrRouting::Send(), ns3::dsr::DsrRouting::SendErrorRequest(), and ns3::dsr::DsrRouting::SendUnreachError().
 Here is the caller graph for this function:
 Here is the caller graph for this function:| 
 | private | 
The ip address header deserialize to.
Definition at line 657 of file dsr-option-header.h.
Referenced by Deserialize().
| 
 | private | 
The vector of Nodes' IPv4 Address.
Definition at line 673 of file dsr-option-header.h.
Referenced by DsrOptionSRHeader(), Deserialize(), GetNodeAddress(), GetNodeListSize(), GetNodesAddress(), GetSerializedSize(), Print(), Serialize(), SetNodeAddress(), SetNodesAddress(), and SetNumberAddress().
| 
 | private | 
Number of salvage times for a packet.
Definition at line 665 of file dsr-option-header.h.
Referenced by Deserialize(), GetSalvage(), Serialize(), and SetSalvage().
| 
 | private | 
Number of left segments.
Definition at line 661 of file dsr-option-header.h.
Referenced by DsrOptionSRHeader(), Deserialize(), GetSegmentsLeft(), Serialize(), and SetSegmentsLeft().