wifi: Refactor WifiPhy and WifiPhyStateHelper to eliminate circular declaration of classes (based on Robert Ammon's patch)

This commit is contained in:
Sébastien Deronne
2018-03-02 21:24:48 +01:00
parent d4d78eeeb3
commit fbd00cb4b5
21 changed files with 639 additions and 504 deletions

View File

@@ -82,7 +82,7 @@ public:
void RxCallback (std::string path, Ptr<const Packet> packet, const Address &from);
void PowerCallback (std::string path, double oldPower, double newPower, Mac48Address dest);
void RateCallback (std::string path, DataRate oldRate, DataRate newRate, Mac48Address dest);
void StateCallback (std::string path, Time init, Time duration, enum WifiPhy::State state);
void StateCallback (std::string path, Time init, Time duration, WifiPhyState state);
Gnuplot2dDataset GetDatafile ();
Gnuplot2dDataset GetPowerDatafile ();
@@ -216,24 +216,24 @@ NodeStatistics::RateCallback (std::string path, DataRate oldRate, DataRate newRa
}
void
NodeStatistics::StateCallback (std::string path, Time init, Time duration, enum WifiPhy::State state)
NodeStatistics::StateCallback (std::string path, Time init, Time duration, WifiPhyState state)
{
if (state == WifiPhy::CCA_BUSY)
if (state == WifiPhyState::CCA_BUSY)
{
busyTime += duration.GetSeconds ();
totalBusyTime += duration.GetSeconds ();
}
else if (state == WifiPhy::IDLE)
else if (state == WifiPhyState::IDLE)
{
idleTime += duration.GetSeconds ();
totalIdleTime += duration.GetSeconds ();
}
else if (state == WifiPhy::TX)
else if (state == WifiPhyState::TX)
{
txTime += duration.GetSeconds ();
totalTxTime += duration.GetSeconds ();
}
else if (state == WifiPhy::RX)
else if (state == WifiPhyState::RX)
{
rxTime += duration.GetSeconds ();
totalRxTime += duration.GetSeconds ();

View File

@@ -46,7 +46,7 @@ DevRxTrace (std::string context, Ptr<const Packet> p)
}
}
void
PhyRxOkTrace (std::string context, Ptr<const Packet> packet, double snr, WifiMode mode, enum WifiPreamble preamble)
PhyRxOkTrace (std::string context, Ptr<const Packet> packet, double snr, WifiMode mode, WifiPreamble preamble)
{
if (g_verbose)
{
@@ -70,7 +70,7 @@ PhyTxTrace (std::string context, Ptr<const Packet> packet, WifiMode mode, WifiPr
}
}
void
PhyStateTrace (std::string context, Time start, Time duration, enum WifiPhy::State state)
PhyStateTrace (std::string context, Time start, Time duration, WifiPhyState state)
{
if (g_verbose)
{

View File

@@ -68,7 +68,7 @@ void RemainingEnergyTrace (double oldValue, double newValue)
}
template <int node>
void PhyStateTrace (std::string context, Time start, Time duration, enum WifiPhy::State state)
void PhyStateTrace (std::string context, Time start, Time duration, WifiPhyState state)
{
std::stringstream ss;
ss << "state_" << node << ".log";