Source Route (SR) Message Format. More...
#include <dsr-option-header.h>
Inheritance diagram for ns3::dsr::DsrOptionSRHeader:Public Member Functions | |
| DsrOptionSRHeader () | |
| Constructor. | |
| virtual | ~DsrOptionSRHeader () |
| Destructor. | |
| virtual uint32_t | Deserialize (Buffer::Iterator start) |
| Deserialize the packet. More... | |
| virtual Alignment | GetAlignment () const |
| Get the Alignment requirement of this option header. More... | |
| virtual TypeId | GetInstanceTypeId () const |
| Get the instance type ID. More... | |
| Ipv4Address | GetNodeAddress (uint8_t index) const |
| Get a Node IPv4 Address. More... | |
| uint8_t | GetNodeListSize () const |
| std::vector< Ipv4Address > | GetNodesAddress () const |
| Get the vector of ipv4 address. More... | |
| uint8_t | GetSalvage () const |
| uint8_t | GetSegmentsLeft () const |
| virtual uint32_t | GetSerializedSize () const |
| Get the serialized size of the packet. More... | |
| virtual void | Print (std::ostream &os) const |
| Print some informations about the packet. More... | |
| virtual void | Serialize (Buffer::Iterator start) const |
| Serialize the packet. More... | |
| void | SetNodeAddress (uint8_t index, Ipv4Address addr) |
| Set a Node IPv4 Address. More... | |
| void | SetNodesAddress (std::vector< Ipv4Address > ipv4Address) |
| Set the vector of ipv4 address. More... | |
| void | SetNumberAddress (uint8_t n) |
| Set the number of ipv4 address. More... | |
| void | SetSalvage (uint8_t salvage) |
| void | SetSegmentsLeft (uint8_t segmentsLeft) |
Public Member Functions inherited from ns3::dsr::DsrOptionHeader | |
| DsrOptionHeader () | |
| Constructor. | |
| virtual | ~DsrOptionHeader () |
| Destructor. | |
| uint8_t | GetLength () const |
| Get the option length. More... | |
| uint8_t | GetType () const |
| Get the type of the option. More... | |
| void | SetLength (uint8_t length) |
| Set the option length. More... | |
| void | SetType (uint8_t type) |
| Set the type of the option. More... | |
Public Member Functions inherited from ns3::ObjectBase | |
| void | GetAttribute (std::string name, AttributeValue &value) const |
| bool | GetAttributeFailSafe (std::string name, AttributeValue &attribute) const |
| void | SetAttribute (std::string name, const AttributeValue &value) |
| bool | SetAttributeFailSafe (std::string name, const AttributeValue &value) |
| bool | TraceConnect (std::string name, std::string context, const CallbackBase &cb) |
| bool | TraceConnectWithoutContext (std::string name, const CallbackBase &cb) |
| bool | TraceDisconnect (std::string name, std::string context, const CallbackBase &cb) |
| bool | TraceDisconnectWithoutContext (std::string name, const CallbackBase &cb) |
Static Public Member Functions | |
| static TypeId | GetTypeId () |
| Get the type identificator. More... | |
Static Public Member Functions inherited from ns3::dsr::DsrOptionHeader | |
| static TypeId | GetTypeId () |
| Get the type identificator. More... | |
Static Public Member Functions inherited from ns3::Header | |
| static TypeId | GetTypeId (void) |
Static Public Member Functions inherited from ns3::Chunk | |
| static TypeId | GetTypeId (void) |
Static Public Member Functions inherited from ns3::ObjectBase | |
| static TypeId | GetTypeId (void) |
Private Types | |
| typedef std::vector< Ipv4Address > | VectorIpv4Address_t |
| A vector of IPv4 Address. | |
Private Attributes | |
| Ipv4Address | m_address |
| The ip address header deserilize to. | |
| VectorIpv4Address_t | m_ipv4Address |
| The vector of Nodes' IPv4 Address. | |
| uint8_t | m_salvage |
| Number of savlage 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) |
| virtual void | NotifyConstructionCompleted (void) |
Source Route (SR) Message Format.
Header of Dsr Option Source Route.
| 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] | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
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 589 of file dsr-option-header.h.
|
virtual |
Deserialize the packet.
| start | Buffer iterator |
Reimplemented from ns3::dsr::DsrOptionHeader.
Definition at line 626 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().
|
virtual |
Get the Alignment requirement of this option header.
Reimplemented from ns3::dsr::DsrOptionHeader.
Definition at line 648 of file dsr-option-header.cc.
|
virtual |
Get the instance type ID.
Reimplemented from ns3::dsr::DsrOptionHeader.
Definition at line 523 of file dsr-option-header.cc.
References GetTypeId().
| Ipv4Address ns3::dsr::DsrOptionSRHeader::GetNodeAddress | ( | uint8_t | index | ) | const |
| index | the index of the IPv4 Address |
Definition at line 582 of file dsr-option-header.cc.
References m_ipv4Address.
Referenced by ns3::dsr::DsrSRHeaderTest::DoRun(), ns3::dsr::DsrOptionRerr::DoSendError(), and ns3::dsr::DsrOptionSR::Process().
| std::vector< Ipv4Address > ns3::dsr::DsrOptionSRHeader::GetNodesAddress | ( | ) | const |
Get the vector of ipv4 address.
Definition at line 572 of file dsr-option-header.cc.
References m_ipv4Address.
Referenced by ns3::dsr::DsrOptionRerr::DoSendError(), ns3::dsr::DsrRouting::LinkScheduleTimerExpire(), ns3::dsr::DsrRouting::NetworkScheduleTimerExpire(), ns3::dsr::DsrOptionSR::Process(), ns3::dsr::DsrRouting::SendPacketFromBuffer(), and ns3::dsr::DsrRouting::SendRerrWhenBreaksLinkToNextHop().
|
virtual |
Get the serialized size of the packet.
Reimplemented from ns3::dsr::DsrOptionHeader.
Definition at line 604 of file dsr-option-header.cc.
References m_ipv4Address.
Referenced by Deserialize(), ns3::dsr::DsrOptionRerr::DoSendError(), and ns3::dsr::DsrOptionSR::Process().
|
static |
Get the type identificator.
Definition at line 514 of file dsr-option-header.cc.
References ns3::TypeId::AddConstructor().
Referenced by GetInstanceTypeId().
|
virtual |
Print some informations about the packet.
| os | output stream |
Reimplemented from ns3::dsr::DsrOptionHeader.
Definition at line 592 of file dsr-option-header.cc.
References ns3::dsr::DsrOptionHeader::GetLength(), ns3::dsr::DsrOptionHeader::GetType(), and m_ipv4Address.
|
virtual |
Serialize the packet.
| start | Buffer iterator |
Reimplemented from ns3::dsr::DsrOptionHeader.
Definition at line 609 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().
| void ns3::dsr::DsrOptionSRHeader::SetNodeAddress | ( | uint8_t | index, |
| Ipv4Address | addr | ||
| ) |
Definition at line 577 of file dsr-option-header.cc.
References m_ipv4Address.
Referenced by Deserialize().
| void ns3::dsr::DsrOptionSRHeader::SetNodesAddress | ( | std::vector< Ipv4Address > | ipv4Address | ) |
Set the vector of ipv4 address.
| ipv4Address | the vector of ipv4 address |
Definition at line 566 of file dsr-option-header.cc.
References m_ipv4Address, and ns3::dsr::DsrOptionHeader::SetLength().
Referenced by ns3::dsr::DsrRouting::CheckSendBuffer(), ns3::dsr::DsrSRHeaderTest::DoRun(), ns3::dsr::DsrOptionRerr::DoSendError(), ns3::dsr::DsrRouting::PacketNewRoute(), ns3::dsr::DsrOptionRreq::Process(), ns3::dsr::DsrOptionRrep::Process(), ns3::dsr::DsrOptionSR::Process(), ns3::dsr::DsrRouting::RouteRequestTimerExpire(), ns3::dsr::DsrRouting::SalvagePacket(), ns3::dsr::DsrRouting::Send(), ns3::dsr::DsrRouting::SendErrorRequest(), ns3::dsr::DsrRouting::SendRerrWhenBreaksLinkToNextHop(), and ns3::dsr::DsrRouting::SendUnreachError().
| void ns3::dsr::DsrOptionSRHeader::SetNumberAddress | ( | uint8_t | n | ) |
Set the number of ipv4 address.
| n | the number of ipv4' address |
Definition at line 560 of file dsr-option-header.cc.
References m_ipv4Address.
Referenced by ns3::dsr::DsrRouting::AddAckReqHeader(), ns3::dsr::DsrSRHeaderTest::DoRun(), ns3::dsr::DsrOptionRerr::DoSendError(), ns3::dsr::DsrRouting::LinkScheduleTimerExpire(), ns3::dsr::DsrRouting::NetworkScheduleTimerExpire(), ns3::dsr::DsrOptionSR::Process(), ns3::dsr::DsrRouting::SalvagePacket(), and ns3::dsr::DsrRouting::SendRerrWhenBreaksLinkToNextHop().