Index: examples/wireless/power-adaptation-interference.cc |
=================================================================== |
--- a/examples/wireless/power-adaptation-interference.cc |
+++ b/examples/wireless/power-adaptation-interference.cc |
@@ -74,51 +74,129 @@ |
class NodeStatistics |
{ |
public: |
+ /** Constructor |
+ * \param aps the collection of APs |
+ * \param stas tje collection of STAs |
+ */ |
NodeStatistics (NetDeviceContainer aps, NetDeviceContainer stas); |
+ /** |
+ * Check statistics function |
+ * \param time the time to collect at |
+ */ |
void CheckStatistics (double time); |
+ /** |
+ * Phy callback function |
+ * \param path the path name |
+ * \param packet the packet |
+ */ |
void PhyCallback (std::string path, Ptr<const Packet> packet); |
+ /** |
+ * Receive callback function |
+ * \param path the path name |
+ * \param packet the packet |
+ * \param from the from address |
+ */ |
void RxCallback (std::string path, Ptr<const Packet> packet, const Address &from); |
+ /** |
+ * Power callback function |
+ * \param path the path name |
+ * \param oldPower the old power value |
+ * \param newPower the new power value |
+ * \param dest the destination MAC address |
+ */ |
void PowerCallback (std::string path, double oldPower, double newPower, Mac48Address dest); |
+ /** |
+ * Rate callback function |
+ * \param path the path name |
+ * \param oldRate the old rate value |
+ * \param newRate the new rate value |
+ * \param dest the destination MAC address |
+ */ |
void RateCallback (std::string path, DataRate oldRate, DataRate newRate, Mac48Address dest); |
+ /** |
+ * State callback function |
+ * \param path the path name |
+ * \param init the initial time |
+ * \param duration the duration time |
+ * \param state the wifi state |
+ */ |
void StateCallback (std::string path, Time init, Time duration, enum WifiPhy::State state); |
+ /** |
+ * Get data file function |
+ * \returns the dataset |
+ */ |
Gnuplot2dDataset GetDatafile (); |
+ /** |
+ * Get power data file function |
+ * \returns the power dataset |
+ */ |
Gnuplot2dDataset GetPowerDatafile (); |
+ /** |
+ * Get idle data file function |
+ * \returns the idle dataset |
+ */ |
Gnuplot2dDataset GetIdleDatafile (); |
+ /** |
+ * Get busy data file function |
+ * \returns the busy dataset |
+ */ |
Gnuplot2dDataset GetBusyDatafile (); |
+ /** |
+ * Get transmit data file function |
+ * \returns the transmit dataset |
+ */ |
Gnuplot2dDataset GetTxDatafile (); |
+ /** |
+ * Get Receive data file function |
+ * \returns the receive dataset |
+ */ |
Gnuplot2dDataset GetRxDatafile (); |
+ /** |
+ * Get busy time function |
+ * \returns the bust time |
+ */ |
double GetBusyTime (); |
private: |
+ /// TxTime typedef |
typedef std::vector<std::pair<Time, DataRate> > TxTime; |
+ /** |
+ * Setup phy layer |
+ * \param phy the phy layer |
+ */ |
void SetupPhy (Ptr<WifiPhy> phy); |
+ /** |
+ * Calculate transmit time function |
+ * \param rate the mode |
+ * \returns the transmit time |
+ */ |
Time GetCalcTxTime (DataRate rate); |
- std::map<Mac48Address, double> currentPower; |
- std::map<Mac48Address, DataRate> currentRate; |
- uint32_t m_bytesTotal; |
- double totalEnergy; |
- double totalTime; |
- double busyTime; |
- double idleTime; |
- double txTime; |
- double rxTime; |
- double totalBusyTime; |
- double totalIdleTime; |
- double totalTxTime; |
- double totalRxTime; |
- Ptr<WifiPhy> myPhy; |
- TxTime timeTable; |
- Gnuplot2dDataset m_output; |
- Gnuplot2dDataset m_output_power; |
- Gnuplot2dDataset m_output_idle; |
- Gnuplot2dDataset m_output_busy; |
- Gnuplot2dDataset m_output_rx; |
- Gnuplot2dDataset m_output_tx; |
+ std::map<Mac48Address, double> currentPower; ///< current power |
+ std::map<Mac48Address, DataRate> currentRate; ///< current rate |
+ uint32_t m_bytesTotal; ///< total bytes received |
+ double totalEnergy; ///< total transmit energy |
+ double totalTime; ///< total transmit time |
+ double busyTime; ///< busy time per period |
+ double idleTime; ///< idle time per period |
+ double txTime; ///< transmit time per period |
+ double rxTime; ///< receive time per period |
+ double totalBusyTime; ///< total busy time |
+ double totalIdleTime; ///< total idle time |
+ double totalTxTime; ///< total transmit time |
+ double totalRxTime; ///< total receive time |
+ Ptr<WifiPhy> myPhy; ///< Phy object |
+ TxTime timeTable; ///< transmit time allocation |
+ Gnuplot2dDataset m_output; ///< output dataset |
+ Gnuplot2dDataset m_output_power; ///< output power dataset |
+ Gnuplot2dDataset m_output_idle; ///< output idle dataset |
+ Gnuplot2dDataset m_output_busy; ///< output busy dataset |
+ Gnuplot2dDataset m_output_rx; ///< output receive dataset |
+ Gnuplot2dDataset m_output_tx; ///< output transmit dataset |
}; |
NodeStatistics::NodeStatistics (NetDeviceContainer aps, NetDeviceContainer stas) |