See 7.3.2.96 of 802.11s draft 2.07. More...
#include <ie-dot11s-preq.h>
Public Member Functions | |
IePreq () | |
~IePreq () | |
void | AddDestinationAddressElement (bool doFlag, bool rfFlag, Mac48Address dest_address, uint32_t dest_seq_number) |
Add a destination address unit: flags, destination and sequence number. More... | |
void | ClearDestinationAddressElements () |
Clear PREQ: remove all destinations. More... | |
void | DecrementTtl () |
Handle TTL and Metric: More... | |
void | DelDestinationAddressElement (Mac48Address dest_address) |
Delete a destination address unit by destination. More... | |
std::vector< Ptr < DestinationAddressUnit > > | GetDestinationList () |
Get all destinations, which are stored in PREQ: More... | |
void | IncrementMetric (uint32_t metric) |
bool | IsFull () const |
bool | MayAddAddress (Mac48Address originator) |
void | SetNeedNotPrep () |
void | SetUnicastPreq () |
SetProper flags which indicate that PREQ is unicast. More... | |
Setters for fields: | |
void | SetHopcount (uint8_t hopcount) |
void | SetTTL (uint8_t ttl) |
void | SetPreqID (uint32_t id) |
void | SetOriginatorAddress (Mac48Address originator_address) |
void | SetOriginatorSeqNumber (uint32_t originator_seq_number) |
void | SetLifetime (uint32_t lifetime) |
void | SetMetric (uint32_t metric) |
void | SetDestCount (uint8_t dest_count) |
Getters for fields: | |
bool | IsUnicastPreq () const |
bool | IsNeedNotPrep () const |
uint8_t | GetHopCount () const |
uint8_t | GetTtl () const |
uint32_t | GetPreqID () const |
Mac48Address | GetOriginatorAddress () const |
uint32_t | GetOriginatorSeqNumber () const |
uint32_t | GetLifetime () const |
uint32_t | GetMetric () const |
uint8_t | GetDestCount () const |
Inherited from WifiInformationElement | |
virtual WifiInformationElementId | ElementId () const |
Own unique Element ID. More... | |
virtual void | SerializeInformationField (Buffer::Iterator i) const |
Serialize information (i.e., the body of the IE, not including the Element ID and length octets) More... | |
virtual uint8_t | DeserializeInformationField (Buffer::Iterator i, uint8_t length) |
Deserialize information (i.e., the body of the IE, not including the Element ID and length octets) More... | |
virtual uint8_t | GetInformationFieldSize () const |
Length of serialized information (i.e., the length of the body of the IE, not including the Element ID and length octets. More... | |
virtual void | Print (std::ostream &os) const |
In addition, a subclass may optionally override the following... More... | |
Public Member Functions inherited from ns3::WifiInformationElement | |
virtual | ~WifiInformationElement () |
Buffer::Iterator | Deserialize (Buffer::Iterator i) |
Deserialize entire IE, which must be present. More... | |
Buffer::Iterator | DeserializeIfPresent (Buffer::Iterator i) |
Deserialize entire IE if it is present. More... | |
uint16_t | GetSerializedSize () const |
Get the size of the serialized IE including Element ID and length fields. More... | |
Buffer::Iterator | Serialize (Buffer::Iterator i) const |
Serialize entire IE including Element ID and length fields. More... | |
virtual bool | operator< (WifiInformationElement const &a) const |
Compare information elements using Element ID. More... | |
virtual bool | operator== (WifiInformationElement const &a) const |
Compare two IEs for equality by ID & Length, and then through memcmp of serialised version. More... | |
Public Member Functions inherited from ns3::SimpleRefCount< WifiInformationElement > | |
SimpleRefCount () | |
Constructor. More... | |
SimpleRefCount (const SimpleRefCount &o) | |
Copy constructor. More... | |
uint32_t | GetReferenceCount (void) const |
Get the reference count of the object. More... | |
SimpleRefCount & | operator= (const SimpleRefCount &o) |
Assignment. More... | |
void | Ref (void) const |
Increment the reference count. More... | |
void | Unref (void) const |
Decrement the reference count. More... | |
Private Attributes | |
uint8_t | m_destCount |
std::vector< Ptr < DestinationAddressUnit > > | m_destinations |
uint8_t | m_flags |
Fields of information element: More... | |
uint8_t | m_hopCount |
uint32_t | m_lifetime |
uint8_t | m_maxSize |
how many destinations we support More... | |
uint32_t | m_metric |
Mac48Address | m_originatorAddress |
uint32_t | m_originatorSeqNumber |
uint32_t | m_preqId |
uint8_t | m_ttl |
Friends | |
bool | operator== (const IePreq &a, const IePreq &b) |
Additional Inherited Members | |
Static Public Member Functions inherited from ns3::SimpleRefCount< WifiInformationElement > | |
static void | Cleanup (void) |
Noop. More... | |
See 7.3.2.96 of 802.11s draft 2.07.
Definition at line 61 of file ie-dot11s-preq.h.
ns3::dot11s::IePreq::IePreq | ( | ) |
Definition at line 89 of file ie-dot11s-preq.cc.
ns3::dot11s::IePreq::~IePreq | ( | ) |
Definition at line 86 of file ie-dot11s-preq.cc.
void ns3::dot11s::IePreq::AddDestinationAddressElement | ( | bool | doFlag, |
bool | rfFlag, | ||
Mac48Address | dest_address, | ||
uint32_t | dest_seq_number | ||
) |
Add a destination address unit: flags, destination and sequence number.
Definition at line 340 of file ie-dot11s-preq.cc.
References m_destCount, and m_destinations.
Referenced by ns3::dot11s::HwmpProtocolMac::RequestDestination(), and ns3::dot11s::HwmpProtocol::SendProactivePreq().
void ns3::dot11s::IePreq::ClearDestinationAddressElements | ( | ) |
Clear PREQ: remove all destinations.
Definition at line 374 of file ie-dot11s-preq.cc.
References m_destCount, and m_destinations.
void ns3::dot11s::IePreq::DecrementTtl | ( | ) |
Handle TTL and Metric:
Definition at line 203 of file ie-dot11s-preq.cc.
References m_hopCount, and m_ttl.
void ns3::dot11s::IePreq::DelDestinationAddressElement | ( | Mac48Address | dest_address | ) |
Delete a destination address unit by destination.
Definition at line 360 of file ie-dot11s-preq.cc.
References m_destCount, and m_destinations.
Referenced by ns3::dot11s::HwmpProtocol::ReceivePreq().
|
virtual |
Deserialize information (i.e., the body of the IE, not including the Element ID and length octets)
start | an iterator which points to where the information should be written. |
length |
Implements ns3::WifiInformationElement.
Definition at line 253 of file ie-dot11s-preq.cc.
References ns3::Buffer::Iterator::GetDistanceFrom(), m_destCount, m_destinations, m_flags, m_hopCount, m_lifetime, m_metric, m_originatorAddress, m_originatorSeqNumber, m_preqId, m_ttl, NS_ASSERT, ns3::ReadFrom(), ns3::Buffer::Iterator::ReadLsbtohU32(), ns3::Buffer::Iterator::ReadU8(), and visualizer.core::start().
|
virtual |
Own unique Element ID.
Implements ns3::WifiInformationElement.
Definition at line 96 of file ie-dot11s-preq.cc.
References IE11S_PREQ.
Referenced by Print().
uint8_t ns3::dot11s::IePreq::GetDestCount | ( | ) | const |
Definition at line 198 of file ie-dot11s-preq.cc.
References m_destCount.
Referenced by ns3::dot11s::HwmpProtocol::ReceivePreq().
std::vector< Ptr< DestinationAddressUnit > > ns3::dot11s::IePreq::GetDestinationList | ( | ) |
Get all destinations, which are stored in PREQ:
Definition at line 335 of file ie-dot11s-preq.cc.
References m_destinations.
Referenced by ns3::dot11s::HwmpProtocol::ReceivePreq().
uint8_t ns3::dot11s::IePreq::GetHopCount | ( | ) | const |
Definition at line 162 of file ie-dot11s-preq.cc.
References m_hopCount.
|
virtual |
Length of serialized information (i.e., the length of the body of the IE, not including the Element ID and length octets.
This is the value that will appear in the second octet of the entire IE - the length field)
Implements ns3::WifiInformationElement.
Definition at line 295 of file ie-dot11s-preq.cc.
References m_destCount, and m_maxSize.
Referenced by IsFull(), and MayAddAddress().
uint32_t ns3::dot11s::IePreq::GetLifetime | ( | void | ) | const |
Definition at line 192 of file ie-dot11s-preq.cc.
References m_lifetime.
Referenced by ns3::dot11s::HwmpProtocol::ReceivePreq().
uint32_t ns3::dot11s::IePreq::GetMetric | ( | void | ) | const |
Definition at line 177 of file ie-dot11s-preq.cc.
References m_metric.
Referenced by ns3::dot11s::HwmpProtocol::ReceivePreq().
Mac48Address ns3::dot11s::IePreq::GetOriginatorAddress | ( | ) | const |
Definition at line 182 of file ie-dot11s-preq.cc.
References m_originatorAddress.
Referenced by ns3::dot11s::HwmpProtocol::ReceivePreq().
uint32_t ns3::dot11s::IePreq::GetOriginatorSeqNumber | ( | ) | const |
Definition at line 187 of file ie-dot11s-preq.cc.
References m_originatorSeqNumber.
Referenced by ns3::dot11s::HwmpProtocol::ReceivePreq().
uint32_t ns3::dot11s::IePreq::GetPreqID | ( | ) | const |
Definition at line 172 of file ie-dot11s-preq.cc.
References m_preqId.
uint8_t ns3::dot11s::IePreq::GetTtl | ( | void | ) | const |
Definition at line 167 of file ie-dot11s-preq.cc.
References m_ttl.
void ns3::dot11s::IePreq::IncrementMetric | ( | uint32_t | metric | ) |
Definition at line 209 of file ie-dot11s-preq.cc.
References m_metric.
Referenced by ns3::dot11s::HwmpProtocol::ReceivePreq().
bool ns3::dot11s::IePreq::IsFull | ( | ) | const |
Definition at line 433 of file ie-dot11s-preq.cc.
References GetInformationFieldSize().
bool ns3::dot11s::IePreq::IsNeedNotPrep | ( | ) | const |
Definition at line 157 of file ie-dot11s-preq.cc.
References m_flags.
Referenced by ns3::dot11s::HwmpProtocol::ReceivePreq().
bool ns3::dot11s::IePreq::IsUnicastPreq | ( | ) | const |
Definition at line 152 of file ie-dot11s-preq.cc.
References m_flags.
bool ns3::dot11s::IePreq::MayAddAddress | ( | Mac48Address | originator | ) |
Definition at line 416 of file ie-dot11s-preq.cc.
References ns3::Mac48Address::GetBroadcast(), GetInformationFieldSize(), m_destinations, and m_originatorAddress.
|
virtual |
In addition, a subclass may optionally override the following...
Generate human-readable form of IE
os | output stream |
Reimplemented from ns3::WifiInformationElement.
Definition at line 317 of file ie-dot11s-preq.cc.
References ElementId(), m_destCount, m_destinations, m_hopCount, m_lifetime, m_metric, m_originatorAddress, m_originatorSeqNumber, m_preqId, and m_ttl.
Referenced by ns3::dot11s::operator<<().
|
virtual |
Serialize information (i.e., the body of the IE, not including the Element ID and length octets)
start | an iterator which points to where the information should be written. |
Implements ns3::WifiInformationElement.
Definition at line 214 of file ie-dot11s-preq.cc.
References m_destCount, m_destinations, m_flags, m_hopCount, m_lifetime, m_maxSize, m_metric, m_originatorAddress, m_originatorSeqNumber, m_preqId, m_ttl, ns3::Buffer::Iterator::WriteHtolsbU32(), ns3::WriteTo(), and ns3::Buffer::Iterator::WriteU8().
void ns3::dot11s::IePreq::SetDestCount | ( | uint8_t | dest_count | ) |
Definition at line 147 of file ie-dot11s-preq.cc.
References m_destCount.
void ns3::dot11s::IePreq::SetHopcount | ( | uint8_t | hopcount | ) |
Definition at line 112 of file ie-dot11s-preq.cc.
References m_hopCount.
Referenced by ns3::dot11s::HwmpProtocolMac::RequestDestination(), and ns3::dot11s::HwmpProtocol::SendProactivePreq().
void ns3::dot11s::IePreq::SetLifetime | ( | uint32_t | lifetime | ) |
Definition at line 142 of file ie-dot11s-preq.cc.
References m_lifetime.
Referenced by ns3::dot11s::HwmpProtocolMac::RequestDestination(), and ns3::dot11s::HwmpProtocol::SendProactivePreq().
void ns3::dot11s::IePreq::SetMetric | ( | uint32_t | metric | ) |
Definition at line 127 of file ie-dot11s-preq.cc.
References m_metric.
void ns3::dot11s::IePreq::SetNeedNotPrep | ( | ) |
Definition at line 107 of file ie-dot11s-preq.cc.
References m_flags.
void ns3::dot11s::IePreq::SetOriginatorAddress | ( | Mac48Address | originator_address | ) |
Definition at line 132 of file ie-dot11s-preq.cc.
References m_originatorAddress.
Referenced by ns3::dot11s::HwmpProtocolMac::RequestDestination(), and ns3::dot11s::HwmpProtocol::SendProactivePreq().
void ns3::dot11s::IePreq::SetOriginatorSeqNumber | ( | uint32_t | originator_seq_number | ) |
Definition at line 137 of file ie-dot11s-preq.cc.
References m_originatorSeqNumber.
Referenced by ns3::dot11s::HwmpProtocolMac::RequestDestination(), and ns3::dot11s::HwmpProtocol::SendProactivePreq().
void ns3::dot11s::IePreq::SetPreqID | ( | uint32_t | id | ) |
Definition at line 122 of file ie-dot11s-preq.cc.
References m_preqId.
Referenced by ns3::dot11s::HwmpProtocolMac::RequestDestination(), and ns3::dot11s::HwmpProtocol::SendProactivePreq().
void ns3::dot11s::IePreq::SetTTL | ( | uint8_t | ttl | ) |
Definition at line 117 of file ie-dot11s-preq.cc.
References m_ttl.
Referenced by ns3::dot11s::HwmpProtocolMac::RequestDestination(), and ns3::dot11s::HwmpProtocol::SendProactivePreq().
void ns3::dot11s::IePreq::SetUnicastPreq | ( | ) |
SetProper flags which indicate that PREQ is unicast.
Definition at line 101 of file ie-dot11s-preq.cc.
References m_flags.
Definition at line 391 of file ie-dot11s-preq.cc.
|
private |
Definition at line 147 of file ie-dot11s-preq.h.
Referenced by AddDestinationAddressElement(), ClearDestinationAddressElements(), DelDestinationAddressElement(), DeserializeInformationField(), GetDestCount(), GetInformationFieldSize(), ns3::dot11s::operator==(), Print(), SerializeInformationField(), and SetDestCount().
|
private |
Definition at line 148 of file ie-dot11s-preq.h.
Referenced by AddDestinationAddressElement(), ClearDestinationAddressElements(), DelDestinationAddressElement(), DeserializeInformationField(), GetDestinationList(), MayAddAddress(), ns3::dot11s::operator==(), Print(), and SerializeInformationField().
|
private |
Fields of information element:
Definition at line 139 of file ie-dot11s-preq.h.
Referenced by DeserializeInformationField(), IsNeedNotPrep(), IsUnicastPreq(), ns3::dot11s::operator==(), SerializeInformationField(), SetNeedNotPrep(), and SetUnicastPreq().
|
private |
Definition at line 140 of file ie-dot11s-preq.h.
Referenced by DecrementTtl(), DeserializeInformationField(), GetHopCount(), ns3::dot11s::operator==(), Print(), SerializeInformationField(), and SetHopcount().
|
private |
Definition at line 145 of file ie-dot11s-preq.h.
Referenced by DeserializeInformationField(), GetLifetime(), ns3::dot11s::operator==(), Print(), SerializeInformationField(), and SetLifetime().
|
private |
how many destinations we support
Definition at line 135 of file ie-dot11s-preq.h.
Referenced by GetInformationFieldSize(), and SerializeInformationField().
|
private |
Definition at line 146 of file ie-dot11s-preq.h.
Referenced by DeserializeInformationField(), GetMetric(), IncrementMetric(), ns3::dot11s::operator==(), Print(), SerializeInformationField(), and SetMetric().
|
private |
Definition at line 143 of file ie-dot11s-preq.h.
Referenced by DeserializeInformationField(), GetOriginatorAddress(), MayAddAddress(), ns3::dot11s::operator==(), Print(), SerializeInformationField(), and SetOriginatorAddress().
|
private |
Definition at line 144 of file ie-dot11s-preq.h.
Referenced by DeserializeInformationField(), GetOriginatorSeqNumber(), ns3::dot11s::operator==(), Print(), SerializeInformationField(), and SetOriginatorSeqNumber().
|
private |
Definition at line 142 of file ie-dot11s-preq.h.
Referenced by DeserializeInformationField(), GetPreqID(), ns3::dot11s::operator==(), Print(), SerializeInformationField(), and SetPreqID().
|
private |
Definition at line 141 of file ie-dot11s-preq.h.
Referenced by DecrementTtl(), DeserializeInformationField(), GetTtl(), ns3::dot11s::operator==(), Print(), SerializeInformationField(), and SetTTL().