Bug-fix in RrFfMacScheduler::DoSchedDlTriggerReq when scheduling multiple LCs per UE
This commit is contained in:
@@ -321,7 +321,7 @@ RrFfMacScheduler::DoSchedDlRlcBufferReq (const struct FfMacSchedSapProvider::Sch
|
||||
{
|
||||
NS_LOG_FUNCTION (this << params.m_rnti << (uint32_t) params.m_logicalChannelIdentity);
|
||||
// API generated by RLC for updating RLC parameters on a LC (tx and retx queues)
|
||||
std::vector<FfMacSchedSapProvider::SchedDlRlcBufferReqParameters>::iterator it;
|
||||
std::list<FfMacSchedSapProvider::SchedDlRlcBufferReqParameters>::iterator it;
|
||||
bool newLc = true;
|
||||
for (it = m_rlcBufferReq.begin (); it != m_rlcBufferReq.end (); it++)
|
||||
{
|
||||
@@ -375,6 +375,12 @@ RrFfMacScheduler::GetRbgSize (int dlbandwidth)
|
||||
return (-1);
|
||||
}
|
||||
|
||||
bool
|
||||
RrFfMacScheduler::SortRlcBufferReq (FfMacSchedSapProvider::SchedDlRlcBufferReqParameters i,FfMacSchedSapProvider::SchedDlRlcBufferReqParameters j)
|
||||
{
|
||||
return (i.m_rnti<j.m_rnti);
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
RrFfMacScheduler::DoSchedDlTriggerReq (const struct FfMacSchedSapProvider::SchedDlTriggerReqParameters& params)
|
||||
@@ -385,7 +391,8 @@ RrFfMacScheduler::DoSchedDlTriggerReq (const struct FfMacSchedSapProvider::Sched
|
||||
RefreshDlCqiMaps ();
|
||||
|
||||
// Get the actual active flows (queue!=0)
|
||||
std::vector<FfMacSchedSapProvider::SchedDlRlcBufferReqParameters>::iterator it;
|
||||
std::list<FfMacSchedSapProvider::SchedDlRlcBufferReqParameters>::iterator it;
|
||||
m_rlcBufferReq.sort (SortRlcBufferReq);
|
||||
int nflows = 0;
|
||||
std::map <uint16_t,uint8_t> lcActivesPerRnti;
|
||||
std::map <uint16_t,uint8_t>::iterator itLcRnti;
|
||||
|
||||
@@ -119,13 +119,15 @@ private:
|
||||
|
||||
int GetRbgSize (int dlbandwidth);
|
||||
|
||||
static bool SortRlcBufferReq (FfMacSchedSapProvider::SchedDlRlcBufferReqParameters i,FfMacSchedSapProvider::SchedDlRlcBufferReqParameters j);
|
||||
|
||||
void RefreshDlCqiMaps(void);
|
||||
void RefreshUlCqiMaps(void);
|
||||
|
||||
/*
|
||||
* Vectors of UE's RLC info
|
||||
*/
|
||||
std::vector <FfMacSchedSapProvider::SchedDlRlcBufferReqParameters> m_rlcBufferReq;
|
||||
std::list <FfMacSchedSapProvider::SchedDlRlcBufferReqParameters> m_rlcBufferReq;
|
||||
|
||||
/*
|
||||
* Map of UE's DL CQI P01 received
|
||||
|
||||
Reference in New Issue
Block a user