trace sink for wifi device that mimics madwifi's athstats tool. More...
#include <athstats-helper.h>
Public Member Functions | |
void | DevRxTrace (std::string context, Ptr< const Packet > p) |
void | DevTxTrace (std::string context, Ptr< const Packet > p) |
void | Open (std::string const &name) |
void | PhyRxErrorTrace (std::string context, Ptr< const Packet > packet, double snr) |
void | PhyRxOkTrace (std::string context, Ptr< const Packet > packet, double snr, WifiMode mode, enum WifiPreamble preamble) |
void | PhyStateTrace (std::string context, Time start, Time duration, enum WifiPhy::State state) |
void | PhyTxTrace (std::string context, Ptr< const Packet > packet, WifiMode mode, WifiPreamble preamble, uint8_t txPower) |
void | TxDataFailedTrace (std::string context, Mac48Address address) |
void | TxFinalDataFailedTrace (std::string context, Mac48Address address) |
void | TxFinalRtsFailedTrace (std::string context, Mac48Address address) |
void | TxRtsFailedTrace (std::string context, Mac48Address address) |
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 |
SimpleRefCount & | operator= (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 (void) |
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 Member Functions | |
void | ResetCounters () |
void | WriteStats () |
Private Attributes | |
uint32_t | m_exceededRetryCount |
Time | m_interval |
uint32_t | m_longRetryCount |
uint32_t | m_phyRxErrorCount |
uint32_t | m_phyRxOkCount |
uint32_t | m_phyTxCount |
uint32_t | m_rxCount |
uint32_t | m_shortRetryCount |
uint32_t | m_txCount |
std::ofstream * | m_writer |
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) |
trace sink for wifi device that mimics madwifi's athstats tool.
The AthstatsWifiTraceSink class is a trace sink to be connected to several of the traces available within a wifi device. The purpose of AthstatsWifiTraceSink is to mimic the behavior of the athstats tool distributed wih the madwifi driver. In particular, the reproduced behavior is that obtained when executing athstats without parameters: a report written in text format is produced every fixed interval, based on the events observed by the wifi device.
Differences with the "real" athstats:
Doxygen introspection did not find any typical Config paths.
No TraceSources are defined for this type.
Definition at line 82 of file athstats-helper.h.
function to be called when the net device receives a packet
context | |
p | the packet being received |
Definition at line 185 of file athstats-helper.cc.
References NS_LOG_FUNCTION.
function to be called when the net device transmits a packet
context | |
p | the packet being transmitted |
Definition at line 178 of file athstats-helper.cc.
References NS_LOG_FUNCTION.
void ns3::AthstatsWifiTraceSink::Open | ( | std::string const & | name | ) |
Open a file for output
name | the name of the file to be opened. |
Definition at line 254 of file athstats-helper.cc.
References NS_ABORT_MSG_IF, NS_ABORT_MSG_UNLESS, NS_ASSERT_MSG, NS_LOG_FUNCTION, and NS_LOG_LOGIC.
void ns3::AthstatsWifiTraceSink::PhyRxErrorTrace | ( | std::string | context, |
Ptr< const Packet > | packet, | ||
double | snr | ||
) |
Function to be called when a frame reception by the PHY layer of the considered device resulted in an error due to a failure in the CRC check of the frame
context | |
packet | |
snr |
Definition at line 230 of file athstats-helper.cc.
References NS_LOG_FUNCTION.
void ns3::AthstatsWifiTraceSink::PhyRxOkTrace | ( | std::string | context, |
Ptr< const Packet > | packet, | ||
double | snr, | ||
WifiMode | mode, | ||
enum WifiPreamble | preamble | ||
) |
Function to be called when the PHY layer of the considered device receives a frame
context | |
packet | |
snr | |
mode | |
preamble |
Definition at line 223 of file athstats-helper.cc.
References NS_LOG_FUNCTION.
void ns3::AthstatsWifiTraceSink::PhyStateTrace | ( | std::string | context, |
Time | start, | ||
Time | duration, | ||
enum WifiPhy::State | state | ||
) |
Function to be called when the PHY layer of the considered device changes state
context | |
start | |
duration | |
state |
Definition at line 245 of file athstats-helper.cc.
References NS_LOG_FUNCTION.
void ns3::AthstatsWifiTraceSink::PhyTxTrace | ( | std::string | context, |
Ptr< const Packet > | packet, | ||
WifiMode | mode, | ||
WifiPreamble | preamble, | ||
uint8_t | txPower | ||
) |
Function to be called when a frame is being transmitted by the PHY layer of the considered device
context | |
packet | |
mode | |
preamble | |
txPower |
Definition at line 237 of file athstats-helper.cc.
References NS_LOG_FUNCTION.
|
private |
Definition at line 165 of file athstats-helper.cc.
void ns3::AthstatsWifiTraceSink::TxDataFailedTrace | ( | std::string | context, |
Mac48Address | address | ||
) |
Function to be called when a data frame transmission by the considered device has failed
context | |
address | the MAC address of the remote station |
Definition at line 200 of file athstats-helper.cc.
References NS_LOG_FUNCTION.
void ns3::AthstatsWifiTraceSink::TxFinalDataFailedTrace | ( | std::string | context, |
Mac48Address | address | ||
) |
Function to be called when the transmission of a data frame has exceeded the retry limit
context | |
address | the MAC address of the remote station |
Definition at line 214 of file athstats-helper.cc.
References NS_LOG_FUNCTION.
void ns3::AthstatsWifiTraceSink::TxFinalRtsFailedTrace | ( | std::string | context, |
Mac48Address | address | ||
) |
Function to be called when the transmission of a RTS frame has exceeded the retry limit
context | |
address | the MAC address of the remote station |
Definition at line 207 of file athstats-helper.cc.
References NS_LOG_FUNCTION.
void ns3::AthstatsWifiTraceSink::TxRtsFailedTrace | ( | std::string | context, |
Mac48Address | address | ||
) |
Function to be called when a RTS frame transmission by the considered device has failed
context | |
address | the MAC address of the remote station |
Definition at line 193 of file athstats-helper.cc.
References NS_LOG_FUNCTION.
|
private |
Definition at line 274 of file athstats-helper.cc.
References ns3::Now(), and NS_ABORT_MSG_UNLESS.