diff --git a/src/lte/helper/mac-stats-calculator.h b/src/lte/helper/mac-stats-calculator.h index ce8e76846..97c6989ac 100644 --- a/src/lte/helper/mac-stats-calculator.h +++ b/src/lte/helper/mac-stats-calculator.h @@ -28,20 +28,72 @@ #include namespace ns3 { - + +/** + * Takes care of storing the information generated at MAC layer. Metrics saved are: + *time\tframe\tsframe\tRNTI\tmcsTb1\tsizeTb1\tmcsTb2\tsizeTb2 + * - Timestamp (in seconds) + * - Frame index + * - Subframe index + * - C-RNTI + * - MCS for transport block 1 + * - Size of transport block 1 + * - MCS for transport block 2 (0 if not used) + * - Size of transport block 2 (0 if not used) + */ class MacStatsCalculator : public Object { public: - MacStatsCalculator(); - virtual - ~MacStatsCalculator(); + /** + * Constructor + */ + MacStatsCalculator (); + + /** + * Destructor + */ + virtual ~MacStatsCalculator (); + + /** + * Inherited from ns3::Object + */ static TypeId GetTypeId (void); + /** + * Set the name of the file where the uplink statistics will be stored. + * + * \param outputFilename string with the name of the file + */ void SetUlOutputFilename (std::string outputFilename); + + /** + * Set the name of the file where the downlink statistics will be stored. + * + * \param outputFilename string with the name of the file + */ void SetDlOutputFilename (std::string outputFilename); + /** + * Notifies the stats calculator that an downlink scheduling has occurred. + * @param frameNo Frame number + * @param subframeNo Subframe number + * @param rnti C-RNTI scheduled + * @param mcsTb1 MCS for transport block 1 + * @param sizeTb1 Size of transport block 1 + * @param mcsTb2 MCS for transport block 2 (0 if not used) + * @param sizeTb2 Size of transport block 2 (0 if not used) + */ void DlScheduling (uint32_t frameNo, uint32_t subframeNo, uint16_t rnti, uint8_t mcsTb1, uint16_t sizeTb1, uint8_t mcsTb2, uint16_t sizeTb2); + + /** + * Notifies the stats calculator that an uplink scheduling has occurred. + * @param frameNo Frame number + * @param subframeNo Subframe number + * @param rnti C-RNTI scheduled + * @param mcsTb MCS for transport block + * @param sizeTb Size of transport block + */ void UlScheduling (uint32_t frameNo, uint32_t subframeNo, uint16_t rnti, uint8_t mcs, uint16_t sizeTb);