Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code | Sign in
(884)

Unified Diff: src/lte/model/fdtbfq-ff-mac-scheduler.h

Issue 315450043: LTE module corrections for doxygen warnings (Closed)
Patch Set: Created 7 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Please Sign in to add in-line comments.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « src/lte/model/fdmt-ff-mac-scheduler.cc ('k') | src/lte/model/fdtbfq-ff-mac-scheduler.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/lte/model/fdtbfq-ff-mac-scheduler.h
===================================================================
--- a/src/lte/model/fdtbfq-ff-mac-scheduler.h
+++ b/src/lte/model/fdtbfq-ff-mac-scheduler.h
@@ -32,12 +32,16 @@
#include <ns3/lte-amc.h>
#include <ns3/lte-ffr-sap.h>
-// value for SINR outside the range defined by FF-API, used to indicate that there
-// is no CQI for this element
+/**
+ * value for SINR outside the range defined by FF-API, used to indicate that there
+ * is no CQI for this element
+ */
#define NO_SINR -5000
+/// HARQ number of processes
#define HARQ_PROC_NUM 8
+/// HARQ DL timeout
#define HARQ_DL_TIMEOUT 11
namespace ns3 {
@@ -46,8 +50,8 @@
typedef std::vector < uint8_t > DlHarqProcessesStatus_t;
typedef std::vector < uint8_t > DlHarqProcessesTimer_t;
typedef std::vector < DlDciListElement_s > DlHarqProcessesDciBuffer_t;
-typedef std::vector < std::vector <struct RlcPduListElement_s> > RlcPduList_t; // vector of the LCs and layers per UE
-typedef std::vector < RlcPduList_t > DlHarqRlcPduListBuffer_t; // vector of the 8 HARQ processes per UE
+typedef std::vector < std::vector <struct RlcPduListElement_s> > RlcPduList_t; ///< vector of the LCs and layers per UE
+typedef std::vector < RlcPduList_t > DlHarqRlcPduListBuffer_t; ///< vector of the 8 HARQ processes per UE
typedef std::vector < UlDciListElement_s > UlHarqProcessesDciBuffer_t;
typedef std::vector < uint8_t > UlHarqProcessesStatus_t;
@@ -58,15 +62,15 @@
*/
struct fdtbfqsFlowPerf_t
{
- Time flowStart;
- uint64_t packetArrivalRate; /// packet arrival rate( byte/s)
- uint64_t tokenGenerationRate; /// token generation rate ( byte/s )
- uint32_t tokenPoolSize; /// current size of token pool (byte)
- uint32_t maxTokenPoolSize; /// maximum size of token pool (byte)
- int counter; /// the number of token borrow or given to token bank
- uint32_t burstCredit; /// the maximum number of tokens connection i can borrow from the bank each time
- int debtLimit; /// counter threshold that the flow cannot further borrow tokens from bank
- uint32_t creditableThreshold; /// the flow cannot borrow token from bank until the number of token it has deposited to bank reaches this threshold
+ Time flowStart; ///< flow start time
+ uint64_t packetArrivalRate; ///< packet arrival rate( byte/s)
+ uint64_t tokenGenerationRate; ///< token generation rate ( byte/s )
+ uint32_t tokenPoolSize; ///< current size of token pool (byte)
+ uint32_t maxTokenPoolSize; ///< maximum size of token pool (byte)
+ int counter; ///< the number of token borrow or given to token bank
+ uint32_t burstCredit; ///< the maximum number of tokens connection i can borrow from the bank each time
+ int debtLimit; ///< counter threshold that the flow cannot further borrow tokens from bank
+ uint32_t creditableThreshold; ///< the flow cannot borrow token from bank until the number of token it has deposited to bank reaches this threshold
};
/**
@@ -93,21 +97,32 @@
// inherited from Object
virtual void DoDispose (void);
+ /**
+ * \brief Get the type ID.
+ * \return the object TypeId
+ */
static TypeId GetTypeId (void);
// inherited from FfMacScheduler
+ /// Set FF MAC Csched SAP user function
virtual void SetFfMacCschedSapUser (FfMacCschedSapUser* s);
+ /// Set FF MAC sched SAP user function
virtual void SetFfMacSchedSapUser (FfMacSchedSapUser* s);
+ /// Get FF MAC CSched SAP provider function
virtual FfMacCschedSapProvider* GetFfMacCschedSapProvider ();
+ /// Get FF MAC sched SAP provider function
virtual FfMacSchedSapProvider* GetFfMacSchedSapProvider ();
// FFR SAPs
+ /// FFR SAP provider function
virtual void SetLteFfrSapProvider (LteFfrSapProvider* s);
+ /// FFR SAP user function
virtual LteFfrSapUser* GetLteFfrSapUser ();
friend class MemberCschedSapProvider<FdTbfqFfMacScheduler>;
friend class MemberSchedSapProvider<FdTbfqFfMacScheduler>;
+ /// Transmisson mode config update function
void TransmissionModeConfigurationUpdate (uint16_t rnti, uint8_t txMode);
private:
@@ -116,14 +131,19 @@
// (See 4.1 for description of the primitives)
//
+ /// Csched cell config request function
void DoCschedCellConfigReq (const struct FfMacCschedSapProvider::CschedCellConfigReqParameters& params);
+ /// CSched UE config request function
void DoCschedUeConfigReq (const struct FfMacCschedSapProvider::CschedUeConfigReqParameters& params);
+ /// CSched LC configu request function
void DoCschedLcConfigReq (const struct FfMacCschedSapProvider::CschedLcConfigReqParameters& params);
+ /// CSched LC release request function
void DoCschedLcReleaseReq (const struct FfMacCschedSapProvider::CschedLcReleaseReqParameters& params);
+ /// CSched UE release request function
void DoCschedUeReleaseReq (const struct FfMacCschedSapProvider::CschedUeReleaseReqParameters& params);
//
@@ -131,39 +151,61 @@
// (See 4.2 for description of the primitives)
//
+ /// Sched DL RLC buffer request function
void DoSchedDlRlcBufferReq (const struct FfMacSchedSapProvider::SchedDlRlcBufferReqParameters& params);
+ /// Sched DL paging buffer request function
void DoSchedDlPagingBufferReq (const struct FfMacSchedSapProvider::SchedDlPagingBufferReqParameters& params);
+ /// Sched DL MAC buffer request function
void DoSchedDlMacBufferReq (const struct FfMacSchedSapProvider::SchedDlMacBufferReqParameters& params);
+ /**
+ * Sched DL trigger request function
+ *
+ * \param params struct FfMacSchedSapProvider::SchedDlTriggerReqParameters&
+ */
void DoSchedDlTriggerReq (const struct FfMacSchedSapProvider::SchedDlTriggerReqParameters& params);
+ /// Sched DL RACH info request function
void DoSchedDlRachInfoReq (const struct FfMacSchedSapProvider::SchedDlRachInfoReqParameters& params);
+ /// Sched DL CGI info request function
void DoSchedDlCqiInfoReq (const struct FfMacSchedSapProvider::SchedDlCqiInfoReqParameters& params);
+ /// Sched UL trigger request function
void DoSchedUlTriggerReq (const struct FfMacSchedSapProvider::SchedUlTriggerReqParameters& params);
+ /// Sched UL noise interference request function
void DoSchedUlNoiseInterferenceReq (const struct FfMacSchedSapProvider::SchedUlNoiseInterferenceReqParameters& params);
+ /// Sched UL SR info request function
void DoSchedUlSrInfoReq (const struct FfMacSchedSapProvider::SchedUlSrInfoReqParameters& params);
+ /// Sched UL MAC control info request function
void DoSchedUlMacCtrlInfoReq (const struct FfMacSchedSapProvider::SchedUlMacCtrlInfoReqParameters& params);
+ /// Sched UL CGI infor request function
void DoSchedUlCqiInfoReq (const struct FfMacSchedSapProvider::SchedUlCqiInfoReqParameters& params);
+ /// Get RBG size function
int GetRbgSize (int dlbandwidth);
+ /// LC Active per flow function
unsigned int LcActivePerFlow (uint16_t rnti);
+ /// Estimate UL SNR function
double EstimateUlSinr (uint16_t rnti, uint16_t rb);
+ /// Refresh DL CQI maps function
void RefreshDlCqiMaps (void);
+ /// Refresh UL CQI maps function
void RefreshUlCqiMaps (void);
+ /// Update DL RLC buffer info function
void UpdateDlRlcBufferInfo (uint16_t rnti, uint8_t lcid, uint16_t size);
+ /// Update UL RLC buffer info function
void UpdateUlRlcBufferInfo (uint16_t rnti, uint16_t size);
/**
@@ -188,120 +230,119 @@
*/
void RefreshHarqProcesses ();
- Ptr<LteAmc> m_amc;
+ Ptr<LteAmc> m_amc; ///< amc
- /*
+ /**
* Vectors of UE's LC info
*/
std::map <LteFlowId_t, FfMacSchedSapProvider::SchedDlRlcBufferReqParameters> m_rlcBufferReq;
- /*
+ /**
* Map of UE statistics (per RNTI basis) in downlink
*/
std::map <uint16_t, fdtbfqsFlowPerf_t> m_flowStatsDl;
- /*
+ /**
* Map of UE statistics (per RNTI basis)
*/
std::map <uint16_t, fdtbfqsFlowPerf_t> m_flowStatsUl;
-
- /*
+ /**
* Map of UE's DL CQI P01 received
*/
std::map <uint16_t,uint8_t> m_p10CqiRxed;
- /*
+
+ /**
* Map of UE's timers on DL CQI P01 received
*/
std::map <uint16_t,uint32_t> m_p10CqiTimers;
- /*
+ /**
* Map of UE's DL CQI A30 received
*/
std::map <uint16_t,SbMeasResult_s> m_a30CqiRxed;
- /*
+
+ /**
* Map of UE's timers on DL CQI A30 received
*/
std::map <uint16_t,uint32_t> m_a30CqiTimers;
- /*
+ /**
* Map of previous allocated UE per RBG
* (used to retrieve info from UL-CQI)
*/
std::map <uint16_t, std::vector <uint16_t> > m_allocationMaps;
- /*
+ /**
* Map of UEs' UL-CQI per RBG
*/
std::map <uint16_t, std::vector <double> > m_ueCqi;
- /*
+
+ /**
* Map of UEs' timers on UL-CQI per RBG
*/
std::map <uint16_t, uint32_t> m_ueCqiTimers;
- /*
+ /**
* Map of UE's buffer status reports received
*/
std::map <uint16_t,uint32_t> m_ceBsrRxed;
// MAC SAPs
- FfMacCschedSapUser* m_cschedSapUser;
- FfMacSchedSapUser* m_schedSapUser;
- FfMacCschedSapProvider* m_cschedSapProvider;
- FfMacSchedSapProvider* m_schedSapProvider;
+ FfMacCschedSapUser* m_cschedSapUser; ///< Csched SAP user
+ FfMacSchedSapUser* m_schedSapUser; ///< sched SAP user
+ FfMacCschedSapProvider* m_cschedSapProvider; ///< CSched SAP provider
+ FfMacSchedSapProvider* m_schedSapProvider; ///< sched SAP provider
// FFR SAPs
- LteFfrSapUser* m_ffrSapUser;
- LteFfrSapProvider* m_ffrSapProvider;
+ LteFfrSapUser* m_ffrSapUser; ///< FFR SAP user
+ LteFfrSapProvider* m_ffrSapProvider; ///< FFR SAP provider
// Internal parameters
- FfMacCschedSapProvider::CschedCellConfigReqParameters m_cschedCellConfig;
+ FfMacCschedSapProvider::CschedCellConfigReqParameters m_cschedCellConfig; ///< Csched cell config
- uint16_t m_nextRntiUl; // RNTI of the next user to be served next scheduling in UL
+ uint16_t m_nextRntiUl; ///< RNTI of the next user to be served next scheduling in UL
- uint32_t m_cqiTimersThreshold; // # of TTIs for which a CQI canbe considered valid
+ uint32_t m_cqiTimersThreshold; ///< # of TTIs for which a CQI canbe considered valid
- std::map <uint16_t,uint8_t> m_uesTxMode; // txMode of the UEs
+ std::map <uint16_t,uint8_t> m_uesTxMode; ///< txMode of the UEs
- uint64_t bankSize; // the number of bytes in token bank
+ uint64_t bankSize; ///< the number of bytes in token bank
- int m_debtLimit; // flow debt limit (byte)
+ int m_debtLimit; ///< flow debt limit (byte)
- uint32_t m_creditLimit; // flow credit limit (byte)
+ uint32_t m_creditLimit; ///< flow credit limit (byte)
- uint32_t m_tokenPoolSize; // maximum size of token pool (byte)
+ uint32_t m_tokenPoolSize; ///< maximum size of token pool (byte)
- uint32_t m_creditableThreshold; // threshold of flow credit
+ uint32_t m_creditableThreshold; ///< threshold of flow credit
// HARQ attributes
- /**
- * m_harqOn when false inhibit te HARQ mechanisms (by default active)
- */
- bool m_harqOn;
- std::map <uint16_t, uint8_t> m_dlHarqCurrentProcessId;
+ bool m_harqOn; ///< m_harqOn when false inhibit the HARQ mechanisms (by default active)
+ std::map <uint16_t, uint8_t> m_dlHarqCurrentProcessId; ///< DL HARQ current process ID
//HARQ status
// 0: process Id available
// x>0: process Id equal to `x` trasmission count
- std::map <uint16_t, DlHarqProcessesStatus_t> m_dlHarqProcessesStatus;
- std::map <uint16_t, DlHarqProcessesTimer_t> m_dlHarqProcessesTimer;
- std::map <uint16_t, DlHarqProcessesDciBuffer_t> m_dlHarqProcessesDciBuffer;
- std::map <uint16_t, DlHarqRlcPduListBuffer_t> m_dlHarqProcessesRlcPduListBuffer;
- std::vector <DlInfoListElement_s> m_dlInfoListBuffered; // HARQ retx buffered
+ std::map <uint16_t, DlHarqProcessesStatus_t> m_dlHarqProcessesStatus; ///< DL HARQ process status
+ std::map <uint16_t, DlHarqProcessesTimer_t> m_dlHarqProcessesTimer; ///< DL HARQ process timer
+ std::map <uint16_t, DlHarqProcessesDciBuffer_t> m_dlHarqProcessesDciBuffer; ///< DL HARQ process DCI buffer
+ std::map <uint16_t, DlHarqRlcPduListBuffer_t> m_dlHarqProcessesRlcPduListBuffer; ///< DL HARQ process RLC PDU list buffer
+ std::vector <DlInfoListElement_s> m_dlInfoListBuffered; ///< HARQ retx buffered
- std::map <uint16_t, uint8_t> m_ulHarqCurrentProcessId;
+ std::map <uint16_t, uint8_t> m_ulHarqCurrentProcessId; ///< UL HARQ current process ID
//HARQ status
// 0: process Id available
// x>0: process Id equal to `x` trasmission count
- std::map <uint16_t, UlHarqProcessesStatus_t> m_ulHarqProcessesStatus;
- std::map <uint16_t, UlHarqProcessesDciBuffer_t> m_ulHarqProcessesDciBuffer;
+ std::map <uint16_t, UlHarqProcessesStatus_t> m_ulHarqProcessesStatus; ///< UL HARQ process status
+ std::map <uint16_t, UlHarqProcessesDciBuffer_t> m_ulHarqProcessesDciBuffer; ///< UL HARQ process DCI buffer
// RACH attributes
- std::vector <struct RachListElement_s> m_rachList;
- std::vector <uint16_t> m_rachAllocationMap;
- uint8_t m_ulGrantMcs; // MCS for UL grant (default 0)
+ std::vector <struct RachListElement_s> m_rachList; ///< RACH list
+ std::vector <uint16_t> m_rachAllocationMap; ///< RACH allocation map
+ uint8_t m_ulGrantMcs; ///< MCS for UL grant (default 0)
};
} // namespace ns3
« no previous file with comments | « src/lte/model/fdmt-ff-mac-scheduler.cc ('k') | src/lte/model/fdtbfq-ff-mac-scheduler.cc » ('j') | no next file with comments »

Powered by Google App Engine
RSS Feeds Recent Issues | This issue
This is Rietveld f62528b