diff --git a/src/lte/model/rr-ff-mac-scheduler.cc b/src/lte/model/rr-ff-mac-scheduler.cc index ba0738c4d..1e17aeec6 100644 --- a/src/lte/model/rr-ff-mac-scheduler.cc +++ b/src/lte/model/rr-ff-mac-scheduler.cc @@ -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::iterator it; + std::list::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::iterator it; + std::list::iterator it; + m_rlcBufferReq.sort (SortRlcBufferReq); int nflows = 0; std::map lcActivesPerRnti; std::map ::iterator itLcRnti; diff --git a/src/lte/model/rr-ff-mac-scheduler.h b/src/lte/model/rr-ff-mac-scheduler.h index 1d2807143..ca2d16d05 100644 --- a/src/lte/model/rr-ff-mac-scheduler.h +++ b/src/lte/model/rr-ff-mac-scheduler.h @@ -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 m_rlcBufferReq; + std::list m_rlcBufferReq; /* * Map of UE's DL CQI P01 received