trace sink for wifi device that mimics madwifi's athstats tool. More...
#include <athstats-helper.h>
Public Member Functions | |
AthstatsWifiTraceSink () | |
virtual | ~AthstatsWifiTraceSink () |
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) |
![]() | |
Object () | |
virtual | ~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) |
![]() | |
SimpleRefCount () | |
SimpleRefCount (const SimpleRefCount &o) | |
uint32_t | GetReferenceCount (void) const |
SimpleRefCount & | operator= (const SimpleRefCount &o) |
void | Ref (void) const |
void | Unref (void) const |
![]() | |
virtual | ~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 TypeId | GetTypeId (void) |
![]() | |
static void | Cleanup (void) |
![]() | |
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 | |
![]() | |
Object (const Object &o) | |
virtual void | DoDispose (void) |
virtual void | DoInitialize (void) |
virtual void | NotifyNewAggregate (void) |
![]() | |
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.
ns3::AthstatsWifiTraceSink::AthstatsWifiTraceSink | ( | ) |
Definition at line 125 of file athstats-helper.cc.
References ns3::Simulator::ScheduleNow(), and WriteStats().
|
virtual |
Definition at line 139 of file athstats-helper.cc.
References m_writer, NS_LOG_FUNCTION, and NS_LOG_LOGIC.
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 m_rxCount, and NS_LOG_FUNCTION.
Referenced by ns3::AthstatsHelper::EnableAthstats().
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 m_txCount, and NS_LOG_FUNCTION.
Referenced by ns3::AthstatsHelper::EnableAthstats().
|
static |
Definition at line 111 of file athstats-helper.cc.
References m_interval, ns3::MakeTimeChecker(), and ns3::TypeId::SetParent().
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 m_writer, 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 m_phyRxErrorCount, and NS_LOG_FUNCTION.
Referenced by ns3::AthstatsHelper::EnableAthstats().
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 m_phyRxOkCount, and NS_LOG_FUNCTION.
Referenced by ns3::AthstatsHelper::EnableAthstats().
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.
Referenced by ns3::AthstatsHelper::EnableAthstats().
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 m_phyTxCount, and NS_LOG_FUNCTION.
Referenced by ns3::AthstatsHelper::EnableAthstats().
|
private |
Definition at line 165 of file athstats-helper.cc.
References m_exceededRetryCount, m_longRetryCount, m_phyRxErrorCount, m_phyRxOkCount, m_phyTxCount, m_rxCount, m_shortRetryCount, and m_txCount.
Referenced by WriteStats().
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 m_longRetryCount, and NS_LOG_FUNCTION.
Referenced by ns3::AthstatsHelper::EnableAthstats().
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 m_exceededRetryCount, and NS_LOG_FUNCTION.
Referenced by ns3::AthstatsHelper::EnableAthstats().
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 m_exceededRetryCount, and NS_LOG_FUNCTION.
Referenced by ns3::AthstatsHelper::EnableAthstats().
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 m_shortRetryCount, and NS_LOG_FUNCTION.
Referenced by ns3::AthstatsHelper::EnableAthstats().
|
private |
Definition at line 274 of file athstats-helper.cc.
References m_exceededRetryCount, m_interval, m_longRetryCount, m_phyRxErrorCount, m_rxCount, m_shortRetryCount, m_txCount, m_writer, ns3::Now(), NS_ABORT_MSG_UNLESS, ResetCounters(), and ns3::Simulator::Schedule().
Referenced by AthstatsWifiTraceSink().
|
private |
Definition at line 210 of file athstats-helper.h.
Referenced by ResetCounters(), TxFinalDataFailedTrace(), TxFinalRtsFailedTrace(), and WriteStats().
|
private |
Definition at line 217 of file athstats-helper.h.
Referenced by GetTypeId(), and WriteStats().
|
private |
Definition at line 209 of file athstats-helper.h.
Referenced by ResetCounters(), TxDataFailedTrace(), and WriteStats().
|
private |
Definition at line 212 of file athstats-helper.h.
Referenced by PhyRxErrorTrace(), ResetCounters(), and WriteStats().
|
private |
Definition at line 211 of file athstats-helper.h.
Referenced by PhyRxOkTrace(), and ResetCounters().
|
private |
Definition at line 213 of file athstats-helper.h.
Referenced by PhyTxTrace(), and ResetCounters().
|
private |
Definition at line 207 of file athstats-helper.h.
Referenced by DevRxTrace(), ResetCounters(), and WriteStats().
|
private |
Definition at line 208 of file athstats-helper.h.
Referenced by ResetCounters(), TxRtsFailedTrace(), and WriteStats().
|
private |
Definition at line 206 of file athstats-helper.h.
Referenced by DevTxTrace(), ResetCounters(), and WriteStats().
|
private |
Definition at line 215 of file athstats-helper.h.
Referenced by Open(), WriteStats(), and ~AthstatsWifiTraceSink().