A Discrete-Event Network Simulator
API
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
ns3::dot11s::AirtimeLinkMetricCalculator Class Reference

Airtime link metric calculator. More...

#include <airtime-metric.h>

+ Inheritance diagram for ns3::dot11s::AirtimeLinkMetricCalculator:

Public Member Functions

uint32_t CalculateMetric (Mac48Address peerAddress, Ptr< MeshWifiInterfaceMac > mac)
 
void SetHeaderTid (uint8_t tid)
 
void SetTestLength (uint16_t testLength)
 
- Public Member Functions inherited from ns3::Object
void AggregateObject (Ptr< Object > other)
 
void Dispose (void)
 
AggregateIterator GetAggregateIterator (void) const
 
virtual TypeId GetInstanceTypeId (void) const
 
template<typename T >
Ptr< T > GetObject (void) const
 
template<typename T >
Ptr< T > GetObject (TypeId tid) const
 
void Initialize (void)
 
- Public Member Functions inherited from ns3::SimpleRefCount< Object, ObjectBase, ObjectDeleter >
 SimpleRefCount (const SimpleRefCount &o)
 
uint32_t GetReferenceCount (void) const
 
SimpleRefCountoperator= (const SimpleRefCount &o)
 
void Ref (void) const
 
void Unref (void) const
 
- 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 ()
 
- Static Public Member Functions inherited from ns3::Object
static TypeId GetTypeId (void)
 
- Static Public Member Functions inherited from ns3::SimpleRefCount< Object, ObjectBase, ObjectDeleter >
static void Cleanup (void)
 
- Static Public Member Functions inherited from ns3::ObjectBase
static TypeId GetTypeId (void)
 

Private Attributes

uint16_t m_headerLength
 header length (used in overhead)
 
uint16_t m_meshHeaderLength
 meshHeader length (minimum 6 octets)
 
uint32_t m_overheadNanosec
 Overhead expressed in nanoseconds:DIFS + SIFS + 2 * PREAMBLE + ACK.
 
Ptr< Packetm_testFrame
 
WifiMacHeader m_testHeader
 
uint32_t m_testLength
 Bt value.
 

Additional Inherited Members

- Protected Member Functions inherited from ns3::Object
 Object (const Object &o)
 
virtual void DoDispose (void)
 
virtual void DoInitialize (void)
 
virtual void NotifyNewAggregate (void)
 
- Protected Member Functions inherited from ns3::ObjectBase
void ConstructSelf (const AttributeConstructionList &attributes)
 
virtual void NotifyConstructionCompleted (void)
 

Detailed Description

Airtime link metric calculator.

Airtime link metric is defined in 11B.10 of 802.11s Draft D3.0 as:

airtime = (O + Bt/r)* (1 + average retry counter), where:

  • o – the PHY dependent channel access which includes frame headers, training sequences, access protocol frames, etc.
  • bt – the test packet length in bits (8192 by default),
  • r – the current bitrate of the packet,

Final result is expressed in units of 0.01 Time Unit = 10.24 us (as required by 802.11s draft)

Doxygen introspection did not find any typical Config paths.

Attributes

  • TestLength: Rate should be estimated using test length.
  • Dot11MetricTid: TID used to calculate metric (data rate)
  • Dot11sMeshHeaderLength: Length of the mesh header

No TraceSources are defined for this type.

Definition at line 41 of file airtime-metric.h.


The documentation for this class was generated from the following files: