diff --git a/src/lte/model/lte-enb-mac.cc b/src/lte/model/lte-enb-mac.cc index 729ed795d..ba88c7e44 100644 --- a/src/lte/model/lte-enb-mac.cc +++ b/src/lte/model/lte-enb-mac.cc @@ -61,10 +61,10 @@ operator< (const flowId_t& lhs, const flowId_t& rhs) // ////////////////////////////////////// -class EnbMemberLteEnbCmacSapProvider : public LteEnbCmacSapProvider +class EnbMacMemberLteEnbCmacSapProvider : public LteEnbCmacSapProvider { public: - EnbMemberLteEnbCmacSapProvider (LteEnbMac* mac); + EnbMacMemberLteEnbCmacSapProvider (LteEnbMac* mac); // inherited from LteEnbCmacSapProvider virtual void ConfigureMac (uint8_t ulBandwidth, uint8_t dlBandwidth); @@ -78,47 +78,47 @@ private: }; -EnbMemberLteEnbCmacSapProvider::EnbMemberLteEnbCmacSapProvider (LteEnbMac* mac) +EnbMacMemberLteEnbCmacSapProvider::EnbMacMemberLteEnbCmacSapProvider (LteEnbMac* mac) : m_mac (mac) { } void -EnbMemberLteEnbCmacSapProvider::ConfigureMac (uint8_t ulBandwidth, uint8_t dlBandwidth) +EnbMacMemberLteEnbCmacSapProvider::ConfigureMac (uint8_t ulBandwidth, uint8_t dlBandwidth) { m_mac->DoConfigureMac (ulBandwidth, dlBandwidth); } void -EnbMemberLteEnbCmacSapProvider::AddUe (uint16_t rnti) +EnbMacMemberLteEnbCmacSapProvider::AddUe (uint16_t rnti) { m_mac->DoAddUe (rnti); } void -EnbMemberLteEnbCmacSapProvider::AddLc (LcInfo lcinfo, LteMacSapUser* msu) +EnbMacMemberLteEnbCmacSapProvider::AddLc (LcInfo lcinfo, LteMacSapUser* msu) { m_mac->DoAddLc (lcinfo, msu); } void -EnbMemberLteEnbCmacSapProvider::ReconfigureLc (LcInfo lcinfo) +EnbMacMemberLteEnbCmacSapProvider::ReconfigureLc (LcInfo lcinfo) { m_mac->DoReconfigureLc (lcinfo); } void -EnbMemberLteEnbCmacSapProvider::ReleaseLc (uint16_t rnti, uint8_t lcid) +EnbMacMemberLteEnbCmacSapProvider::ReleaseLc (uint16_t rnti, uint8_t lcid) { m_mac->DoReleaseLc (rnti, lcid); } -class EnbMemberLteMacSapProvider : public LteMacSapProvider +class EnbMacMemberLteMacSapProvider : public LteMacSapProvider { public: - EnbMemberLteMacSapProvider (LteEnbMac* mac); + EnbMacMemberLteMacSapProvider (LteEnbMac* mac); // inherited from LteMacSapProvider virtual void TransmitPdu (TransmitPduParameters params); @@ -129,20 +129,20 @@ private: }; -EnbMemberLteMacSapProvider::EnbMemberLteMacSapProvider (LteEnbMac* mac) +EnbMacMemberLteMacSapProvider::EnbMacMemberLteMacSapProvider (LteEnbMac* mac) : m_mac (mac) { } void -EnbMemberLteMacSapProvider::TransmitPdu (TransmitPduParameters params) +EnbMacMemberLteMacSapProvider::TransmitPdu (TransmitPduParameters params) { m_mac->DoTransmitPdu (params); } void -EnbMemberLteMacSapProvider::ReportBufferStatus (ReportBufferStatusParameters params) +EnbMacMemberLteMacSapProvider::ReportBufferStatus (ReportBufferStatusParameters params) { m_mac->DoReportBufferStatus (params); } @@ -150,10 +150,10 @@ EnbMemberLteMacSapProvider::ReportBufferStatus (ReportBufferStatusParameters par -class EnbMemberFfMacSchedSapUser : public FfMacSchedSapUser +class EnbMacMemberFfMacSchedSapUser : public FfMacSchedSapUser { public: - EnbMemberFfMacSchedSapUser (LteEnbMac* mac); + EnbMacMemberFfMacSchedSapUser (LteEnbMac* mac); virtual void SchedDlConfigInd (const struct SchedDlConfigIndParameters& params); @@ -163,14 +163,14 @@ private: }; -EnbMemberFfMacSchedSapUser::EnbMemberFfMacSchedSapUser (LteEnbMac* mac) +EnbMacMemberFfMacSchedSapUser::EnbMacMemberFfMacSchedSapUser (LteEnbMac* mac) : m_mac (mac) { } void -EnbMemberFfMacSchedSapUser::SchedDlConfigInd (const struct SchedDlConfigIndParameters& params) +EnbMacMemberFfMacSchedSapUser::SchedDlConfigInd (const struct SchedDlConfigIndParameters& params) { m_mac->DoSchedDlConfigInd (params); } @@ -178,17 +178,17 @@ EnbMemberFfMacSchedSapUser::SchedDlConfigInd (const struct SchedDlConfigIndParam void -EnbMemberFfMacSchedSapUser::SchedUlConfigInd (const struct SchedUlConfigIndParameters& params) +EnbMacMemberFfMacSchedSapUser::SchedUlConfigInd (const struct SchedUlConfigIndParameters& params) { m_mac->DoSchedUlConfigInd (params); } -class EnbMemberFfMacCschedSapUser : public FfMacCschedSapUser +class EnbMacMemberFfMacCschedSapUser : public FfMacCschedSapUser { public: - EnbMemberFfMacCschedSapUser (LteEnbMac* mac); + EnbMacMemberFfMacCschedSapUser (LteEnbMac* mac); virtual void CschedCellConfigCnf (const struct CschedCellConfigCnfParameters& params); virtual void CschedUeConfigCnf (const struct CschedUeConfigCnfParameters& params); @@ -203,49 +203,49 @@ private: }; -EnbMemberFfMacCschedSapUser::EnbMemberFfMacCschedSapUser (LteEnbMac* mac) +EnbMacMemberFfMacCschedSapUser::EnbMacMemberFfMacCschedSapUser (LteEnbMac* mac) : m_mac (mac) { } void -EnbMemberFfMacCschedSapUser::CschedCellConfigCnf (const struct CschedCellConfigCnfParameters& params) +EnbMacMemberFfMacCschedSapUser::CschedCellConfigCnf (const struct CschedCellConfigCnfParameters& params) { m_mac->DoCschedCellConfigCnf (params); } void -EnbMemberFfMacCschedSapUser::CschedUeConfigCnf (const struct CschedUeConfigCnfParameters& params) +EnbMacMemberFfMacCschedSapUser::CschedUeConfigCnf (const struct CschedUeConfigCnfParameters& params) { m_mac->DoCschedUeConfigCnf (params); } void -EnbMemberFfMacCschedSapUser::CschedLcConfigCnf (const struct CschedLcConfigCnfParameters& params) +EnbMacMemberFfMacCschedSapUser::CschedLcConfigCnf (const struct CschedLcConfigCnfParameters& params) { m_mac->DoCschedLcConfigCnf (params); } void -EnbMemberFfMacCschedSapUser::CschedLcReleaseCnf (const struct CschedLcReleaseCnfParameters& params) +EnbMacMemberFfMacCschedSapUser::CschedLcReleaseCnf (const struct CschedLcReleaseCnfParameters& params) { m_mac->DoCschedLcReleaseCnf (params); } void -EnbMemberFfMacCschedSapUser::CschedUeReleaseCnf (const struct CschedUeReleaseCnfParameters& params) +EnbMacMemberFfMacCschedSapUser::CschedUeReleaseCnf (const struct CschedUeReleaseCnfParameters& params) { m_mac->DoCschedUeReleaseCnf (params); } void -EnbMemberFfMacCschedSapUser::CschedUeConfigUpdateInd (const struct CschedUeConfigUpdateIndParameters& params) +EnbMacMemberFfMacCschedSapUser::CschedUeConfigUpdateInd (const struct CschedUeConfigUpdateIndParameters& params) { m_mac->DoCschedUeConfigUpdateInd (params); } void -EnbMemberFfMacCschedSapUser::CschedCellConfigUpdateInd (const struct CschedCellConfigUpdateIndParameters& params) +EnbMacMemberFfMacCschedSapUser::CschedCellConfigUpdateInd (const struct CschedCellConfigUpdateIndParameters& params) { m_mac->DoCschedCellConfigUpdateInd (params); } @@ -255,10 +255,10 @@ EnbMemberFfMacCschedSapUser::CschedCellConfigUpdateInd (const struct CschedCellC // ---------- PHY-SAP -class EnbMemberLteEnbPhySapUser : public LteEnbPhySapUser +class EnbMacMemberLteEnbPhySapUser : public LteEnbPhySapUser { public: - EnbMemberLteEnbPhySapUser (LteEnbMac* mac); + EnbMacMemberLteEnbPhySapUser (LteEnbMac* mac); // inherited from LteEnbPhySapUser virtual void ReceivePhyPdu (Ptr p); @@ -269,25 +269,25 @@ private: LteEnbMac* m_mac; }; -EnbMemberLteEnbPhySapUser::EnbMemberLteEnbPhySapUser (LteEnbMac* mac) : m_mac (mac) +EnbMacMemberLteEnbPhySapUser::EnbMacMemberLteEnbPhySapUser (LteEnbMac* mac) : m_mac (mac) { } void -EnbMemberLteEnbPhySapUser::ReceivePhyPdu (Ptr p) +EnbMacMemberLteEnbPhySapUser::ReceivePhyPdu (Ptr p) { m_mac->DoReceivePhyPdu (p); } void -EnbMemberLteEnbPhySapUser::SubframeIndication (uint32_t frameNo, uint32_t subframeNo) +EnbMacMemberLteEnbPhySapUser::SubframeIndication (uint32_t frameNo, uint32_t subframeNo) { m_mac->DoSubframeIndication (frameNo, subframeNo); } void -EnbMemberLteEnbPhySapUser::ReceiveIdealControlMessage (Ptr msg) +EnbMacMemberLteEnbPhySapUser::ReceiveIdealControlMessage (Ptr msg) { m_mac->DoReceiveIdealControlMessage (msg); } @@ -310,13 +310,13 @@ LteEnbMac::GetTypeId (void) LteEnbMac::LteEnbMac () { - m_macSapProvider = new EnbMemberLteMacSapProvider (this); - m_cmacSapProvider = new EnbMemberLteEnbCmacSapProvider (this); + m_macSapProvider = new EnbMacMemberLteMacSapProvider (this); + m_cmacSapProvider = new EnbMacMemberLteEnbCmacSapProvider (this); - m_schedSapUser = new EnbMemberFfMacSchedSapUser (this); - m_cschedSapUser = new EnbMemberFfMacCschedSapUser (this); + m_schedSapUser = new EnbMacMemberFfMacSchedSapUser (this); + m_cschedSapUser = new EnbMacMemberFfMacCschedSapUser (this); - m_enbPhySapUser = new EnbMemberLteEnbPhySapUser (this); + m_enbPhySapUser = new EnbMacMemberLteEnbPhySapUser (this); } diff --git a/src/lte/model/lte-enb-mac.h b/src/lte/model/lte-enb-mac.h index 0db91d409..4124d2f64 100644 --- a/src/lte/model/lte-enb-mac.h +++ b/src/lte/model/lte-enb-mac.h @@ -51,11 +51,11 @@ bool operator< (const flowId_t& lhs, const flowId_t& rhs); */ class LteEnbMac : public Object { - friend class EnbMemberLteEnbCmacSapProvider; - friend class EnbMemberLteMacSapProvider; - friend class EnbMemberFfMacSchedSapUser; - friend class EnbMemberFfMacCschedSapUser; - friend class EnbMemberLteEnbPhySapUser; + friend class EnbMacMemberLteEnbCmacSapProvider; + friend class EnbMacMemberLteMacSapProvider; + friend class EnbMacMemberFfMacSchedSapUser; + friend class EnbMacMemberFfMacCschedSapUser; + friend class EnbMacMemberLteEnbPhySapUser; public: static TypeId GetTypeId (void); diff --git a/src/lte/model/lte-enb-rrc.cc b/src/lte/model/lte-enb-rrc.cc index a07f0cbce..008ccc586 100644 --- a/src/lte/model/lte-enb-rrc.cc +++ b/src/lte/model/lte-enb-rrc.cc @@ -35,10 +35,10 @@ namespace ns3 { // CMAC SAP forwarder // /////////////////////////// -class EnbMemberLteEnbCmacSapUser : public LteEnbCmacSapUser +class EnbRrcMemberLteEnbCmacSapUser : public LteEnbCmacSapUser { public: - EnbMemberLteEnbCmacSapUser (LteEnbRrc* rrc); + EnbRrcMemberLteEnbCmacSapUser (LteEnbRrc* rrc); virtual void NotifyLcConfigResult (uint16_t rnti, uint8_t lcid, bool success); @@ -46,13 +46,13 @@ private: LteEnbRrc* m_rrc; }; -EnbMemberLteEnbCmacSapUser::EnbMemberLteEnbCmacSapUser (LteEnbRrc* rrc) +EnbRrcMemberLteEnbCmacSapUser::EnbRrcMemberLteEnbCmacSapUser (LteEnbRrc* rrc) : m_rrc (rrc) { } void -EnbMemberLteEnbCmacSapUser::NotifyLcConfigResult (uint16_t rnti, uint8_t lcid, bool success) +EnbRrcMemberLteEnbCmacSapUser::NotifyLcConfigResult (uint16_t rnti, uint8_t lcid, bool success) { m_rrc->DoNotifyLcConfigResult (rnti, lcid, success); } @@ -165,7 +165,7 @@ LteEnbRrc::LteEnbRrc () m_lastAllocatedRnti (0) { NS_LOG_FUNCTION (this); - m_cmacSapUser = new EnbMemberLteEnbCmacSapUser (this); + m_cmacSapUser = new EnbRrcMemberLteEnbCmacSapUser (this); } diff --git a/src/lte/model/lte-enb-rrc.h b/src/lte/model/lte-enb-rrc.h index 6e8a3b3c5..82d738576 100644 --- a/src/lte/model/lte-enb-rrc.h +++ b/src/lte/model/lte-enb-rrc.h @@ -41,7 +41,7 @@ class UeInfo; class LteEnbRrc : public Object { - friend class EnbMemberLteEnbCmacSapUser; + friend class EnbRrcMemberLteEnbCmacSapUser; public: /** diff --git a/src/lte/model/rr-ff-mac-scheduler.cc b/src/lte/model/rr-ff-mac-scheduler.cc index 9fc1ab2f7..58fa5cca1 100644 --- a/src/lte/model/rr-ff-mac-scheduler.cc +++ b/src/lte/model/rr-ff-mac-scheduler.cc @@ -39,10 +39,10 @@ int Type0AllocationRbg[4] = { // NS_OBJECT_ENSURE_REGISTERED (RrPacketScheduler); -class FfMacSpecificCschedSapProvider : public FfMacCschedSapProvider +class RrSchedulerMemberCschedSapProvider : public FfMacCschedSapProvider { public: - FfMacSpecificCschedSapProvider (RrFfMacScheduler* scheduler); + RrSchedulerMemberCschedSapProvider (RrFfMacScheduler* scheduler); // inherited from FfMacCschedSapProvider virtual void CschedCellConfigReq (const struct CschedCellConfigReqParameters& params); @@ -52,46 +52,46 @@ public: virtual void CschedUeReleaseReq (const struct CschedUeReleaseReqParameters& params); private: - FfMacSpecificCschedSapProvider (); + RrSchedulerMemberCschedSapProvider (); RrFfMacScheduler* m_scheduler; }; -FfMacSpecificCschedSapProvider::FfMacSpecificCschedSapProvider () +RrSchedulerMemberCschedSapProvider::RrSchedulerMemberCschedSapProvider () { } -FfMacSpecificCschedSapProvider::FfMacSpecificCschedSapProvider (RrFfMacScheduler* scheduler) : m_scheduler (scheduler) +RrSchedulerMemberCschedSapProvider::RrSchedulerMemberCschedSapProvider (RrFfMacScheduler* scheduler) : m_scheduler (scheduler) { } void -FfMacSpecificCschedSapProvider::CschedCellConfigReq (const struct CschedCellConfigReqParameters& params) +RrSchedulerMemberCschedSapProvider::CschedCellConfigReq (const struct CschedCellConfigReqParameters& params) { m_scheduler->DoCschedCellConfigReq (params); } void -FfMacSpecificCschedSapProvider::CschedUeConfigReq (const struct CschedUeConfigReqParameters& params) +RrSchedulerMemberCschedSapProvider::CschedUeConfigReq (const struct CschedUeConfigReqParameters& params) { m_scheduler->DoCschedUeConfigReq (params); } void -FfMacSpecificCschedSapProvider::CschedLcConfigReq (const struct CschedLcConfigReqParameters& params) +RrSchedulerMemberCschedSapProvider::CschedLcConfigReq (const struct CschedLcConfigReqParameters& params) { m_scheduler->DoCschedLcConfigReq (params); } void -FfMacSpecificCschedSapProvider::CschedLcReleaseReq (const struct CschedLcReleaseReqParameters& params) +RrSchedulerMemberCschedSapProvider::CschedLcReleaseReq (const struct CschedLcReleaseReqParameters& params) { m_scheduler->DoCschedLcReleaseReq (params); } void -FfMacSpecificCschedSapProvider::CschedUeReleaseReq (const struct CschedUeReleaseReqParameters& params) +RrSchedulerMemberCschedSapProvider::CschedUeReleaseReq (const struct CschedUeReleaseReqParameters& params) { m_scheduler->DoCschedUeReleaseReq (params); } @@ -99,10 +99,10 @@ FfMacSpecificCschedSapProvider::CschedUeReleaseReq (const struct CschedUeRelease -class FfMacSpecificSchedSapProvider : public FfMacSchedSapProvider +class RrSchedulerMemberSchedSapProvider : public FfMacSchedSapProvider { public: - FfMacSpecificSchedSapProvider (RrFfMacScheduler* scheduler); + RrSchedulerMemberSchedSapProvider (RrFfMacScheduler* scheduler); // inherited from FfMacSchedSapProvider virtual void SchedDlRlcBufferReq (const struct SchedDlRlcBufferReqParameters& params); @@ -119,84 +119,84 @@ public: private: - FfMacSpecificSchedSapProvider (); + RrSchedulerMemberSchedSapProvider (); RrFfMacScheduler* m_scheduler; }; -FfMacSpecificSchedSapProvider::FfMacSpecificSchedSapProvider () +RrSchedulerMemberSchedSapProvider::RrSchedulerMemberSchedSapProvider () { } -FfMacSpecificSchedSapProvider::FfMacSpecificSchedSapProvider (RrFfMacScheduler* scheduler) +RrSchedulerMemberSchedSapProvider::RrSchedulerMemberSchedSapProvider (RrFfMacScheduler* scheduler) : m_scheduler (scheduler) { } void -FfMacSpecificSchedSapProvider::SchedDlRlcBufferReq (const struct SchedDlRlcBufferReqParameters& params) +RrSchedulerMemberSchedSapProvider::SchedDlRlcBufferReq (const struct SchedDlRlcBufferReqParameters& params) { m_scheduler->DoSchedDlRlcBufferReq (params); } void -FfMacSpecificSchedSapProvider::SchedDlPagingBufferReq (const struct SchedDlPagingBufferReqParameters& params) +RrSchedulerMemberSchedSapProvider::SchedDlPagingBufferReq (const struct SchedDlPagingBufferReqParameters& params) { m_scheduler->DoSchedDlPagingBufferReq (params); } void -FfMacSpecificSchedSapProvider::SchedDlMacBufferReq (const struct SchedDlMacBufferReqParameters& params) +RrSchedulerMemberSchedSapProvider::SchedDlMacBufferReq (const struct SchedDlMacBufferReqParameters& params) { m_scheduler->DoSchedDlMacBufferReq (params); } void -FfMacSpecificSchedSapProvider::SchedDlTriggerReq (const struct SchedDlTriggerReqParameters& params) +RrSchedulerMemberSchedSapProvider::SchedDlTriggerReq (const struct SchedDlTriggerReqParameters& params) { m_scheduler->DoSchedDlTriggerReq (params); } void -FfMacSpecificSchedSapProvider::SchedDlRachInfoReq (const struct SchedDlRachInfoReqParameters& params) +RrSchedulerMemberSchedSapProvider::SchedDlRachInfoReq (const struct SchedDlRachInfoReqParameters& params) { m_scheduler->DoSchedDlRachInfoReq (params); } void -FfMacSpecificSchedSapProvider::SchedDlCqiInfoReq (const struct SchedDlCqiInfoReqParameters& params) +RrSchedulerMemberSchedSapProvider::SchedDlCqiInfoReq (const struct SchedDlCqiInfoReqParameters& params) { m_scheduler->DoSchedDlCqiInfoReq (params); } void -FfMacSpecificSchedSapProvider::SchedUlTriggerReq (const struct SchedUlTriggerReqParameters& params) +RrSchedulerMemberSchedSapProvider::SchedUlTriggerReq (const struct SchedUlTriggerReqParameters& params) { m_scheduler->DoSchedUlTriggerReq (params); } void -FfMacSpecificSchedSapProvider::SchedUlNoiseInterferenceReq (const struct SchedUlNoiseInterferenceReqParameters& params) +RrSchedulerMemberSchedSapProvider::SchedUlNoiseInterferenceReq (const struct SchedUlNoiseInterferenceReqParameters& params) { m_scheduler->DoSchedUlNoiseInterferenceReq (params); } void -FfMacSpecificSchedSapProvider::SchedUlSrInfoReq (const struct SchedUlSrInfoReqParameters& params) +RrSchedulerMemberSchedSapProvider::SchedUlSrInfoReq (const struct SchedUlSrInfoReqParameters& params) { m_scheduler->DoSchedUlSrInfoReq (params); } void -FfMacSpecificSchedSapProvider::SchedUlMacCtrlInfoReq (const struct SchedUlMacCtrlInfoReqParameters& params) +RrSchedulerMemberSchedSapProvider::SchedUlMacCtrlInfoReq (const struct SchedUlMacCtrlInfoReqParameters& params) { m_scheduler->DoSchedUlMacCtrlInfoReq (params); } void -FfMacSpecificSchedSapProvider::SchedUlCqiInfoReq (const struct SchedUlCqiInfoReqParameters& params) +RrSchedulerMemberSchedSapProvider::SchedUlCqiInfoReq (const struct SchedUlCqiInfoReqParameters& params) { m_scheduler->DoSchedUlCqiInfoReq (params); } @@ -209,8 +209,8 @@ RrFfMacScheduler::RrFfMacScheduler () : m_cschedSapUser (0), m_schedSapUser (0) { - m_cschedSapProvider = new FfMacSpecificCschedSapProvider (this); - m_schedSapProvider = new FfMacSpecificSchedSapProvider (this); + m_cschedSapProvider = new RrSchedulerMemberCschedSapProvider (this); + m_schedSapProvider = new RrSchedulerMemberSchedSapProvider (this); } RrFfMacScheduler::~RrFfMacScheduler () diff --git a/src/lte/model/rr-ff-mac-scheduler.h b/src/lte/model/rr-ff-mac-scheduler.h index 57b040eb1..3938d083c 100644 --- a/src/lte/model/rr-ff-mac-scheduler.h +++ b/src/lte/model/rr-ff-mac-scheduler.h @@ -69,6 +69,10 @@ public: virtual FfMacCschedSapProvider* GetFfMacCschedSapProvider (); virtual FfMacSchedSapProvider* GetFfMacSchedSapProvider (); + friend class RrSchedulerMemberCschedSapProvider; + friend class RrSchedulerMemberSchedSapProvider; + +private: // // Implementation of the CSCHED API primitives @@ -112,7 +116,7 @@ public: void DoSchedUlCqiInfoReq (const struct FfMacSchedSapProvider::SchedUlCqiInfoReqParameters& params); -private: + int GetRbgSize (int dlbandwidth); /*