See 7.3.2.96 of 802.11s draft 2.07. More...
#include <ie-dot11s-preq.h>
Public Member Functions | |
void | AddDestinationAddressElement (bool doFlag, bool rfFlag, Mac48Address dest_address, uint32_t dest_seq_number) |
void | ClearDestinationAddressElements () |
Clear PREQ: remove all destinations. | |
void | DecrementTtl () |
void | DelDestinationAddressElement (Mac48Address dest_address) |
Delete a destination address unit by destination. | |
std::vector< Ptr < DestinationAddressUnit > > | GetDestinationList () |
Get all destinations, which are stored in PREQ: | |
void | IncrementMetric (uint32_t metric) |
bool | IsFull () const |
bool | MayAddAddress (Mac48Address originator) |
void | SetNeedNotPrep () |
void | SetUnicastPreq () |
SetProper flags which indicate that PREQ is unicast. | |
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. | |
virtual void | SerializeInformationField (Buffer::Iterator i) const |
virtual uint8_t | DeserializeInformationField (Buffer::Iterator i, uint8_t length) |
virtual uint8_t | GetInformationFieldSize () const |
virtual void | Print (std::ostream &os) const |
In addition, a subclass may optionally override the following... More... | |
Public Member Functions inherited from ns3::WifiInformationElement | |
Buffer::Iterator | Deserialize (Buffer::Iterator i) |
Buffer::Iterator | DeserializeIfPresent (Buffer::Iterator i) |
uint16_t | GetSerializedSize () const |
Buffer::Iterator | Serialize (Buffer::Iterator i) const |
Serialize entire IE including Element ID and length fields. | |
virtual bool | operator< (WifiInformationElement const &a) const |
Compare information elements using Element ID. | |
virtual bool | operator== (WifiInformationElement const &a) const |
Public Member Functions inherited from ns3::SimpleRefCount< WifiInformationElement > | |
SimpleRefCount (const SimpleRefCount &o) | |
uint32_t | GetReferenceCount (void) const |
SimpleRefCount & | operator= (const SimpleRefCount &o) |
void | Ref (void) const |
void | Unref (void) const |
Private Attributes | |
uint8_t | m_destCount |
std::vector< Ptr < DestinationAddressUnit > > | m_destinations |
uint8_t | m_flags |
uint8_t | m_hopCount |
uint32_t | m_lifetime |
uint8_t | m_maxSize |
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) |
See 7.3.2.96 of 802.11s draft 2.07.
Definition at line 61 of file ie-dot11s-preq.h.
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.
Referenced by ns3::dot11s::HwmpProtocolMac::RequestDestination(), and ns3::dot11s::HwmpProtocol::SendProactivePreq().
void ns3::dot11s::IePreq::DecrementTtl | ( | ) |
Handle TTL and Metric:
Definition at line 203 of file ie-dot11s-preq.cc.
|
virtual |
Deserialize information (i.e., the body of the IE, not including the Element ID and length octets)
Implements ns3::WifiInformationElement.
Definition at line 253 of file ie-dot11s-preq.cc.
References ns3::Buffer::Iterator::GetDistanceFrom(), m_flags, NS_ASSERT, ns3::Buffer::Iterator::ReadLsbtohU32(), and ns3::Buffer::Iterator::ReadU8().
|
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_maxSize.
|
virtual |
In addition, a subclass may optionally override the following...
Generate human-readable form of IE
Reimplemented from ns3::WifiInformationElement.
Definition at line 317 of file ie-dot11s-preq.cc.
References ElementId().
|
virtual |
Serialize information (i.e., the body of the IE, not including the Element ID and length octets)
Implements ns3::WifiInformationElement.
Definition at line 214 of file ie-dot11s-preq.cc.
References m_flags, m_maxSize, ns3::Buffer::Iterator::WriteHtolsbU32(), and ns3::Buffer::Iterator::WriteU8().
|
private |
Fields of information element:
Definition at line 139 of file ie-dot11s-preq.h.
Referenced by DeserializeInformationField(), SerializeInformationField(), and SetUnicastPreq().
|
private |
how many destinations we support
Definition at line 135 of file ie-dot11s-preq.h.
Referenced by GetInformationFieldSize(), and SerializeInformationField().