lte: (fixes #2456) Add MemberCschedSapProvider and MemberCschedSapProvider templates
This commit is contained in:
@@ -96,171 +96,6 @@ bool CqaKeyDescComparator (uint16_t key1, uint16_t key2)
|
||||
}
|
||||
|
||||
|
||||
class CqaSchedulerMemberCschedSapProvider : public FfMacCschedSapProvider
|
||||
{
|
||||
public:
|
||||
CqaSchedulerMemberCschedSapProvider (CqaFfMacScheduler* scheduler);
|
||||
|
||||
// inherited from FfMacCschedSapProvider
|
||||
virtual void CschedCellConfigReq (const struct CschedCellConfigReqParameters& params);
|
||||
virtual void CschedUeConfigReq (const struct CschedUeConfigReqParameters& params);
|
||||
virtual void CschedLcConfigReq (const struct CschedLcConfigReqParameters& params);
|
||||
virtual void CschedLcReleaseReq (const struct CschedLcReleaseReqParameters& params);
|
||||
virtual void CschedUeReleaseReq (const struct CschedUeReleaseReqParameters& params);
|
||||
|
||||
private:
|
||||
CqaSchedulerMemberCschedSapProvider ();
|
||||
CqaFfMacScheduler* m_scheduler;
|
||||
};
|
||||
|
||||
CqaSchedulerMemberCschedSapProvider::CqaSchedulerMemberCschedSapProvider ()
|
||||
{
|
||||
}
|
||||
|
||||
CqaSchedulerMemberCschedSapProvider::CqaSchedulerMemberCschedSapProvider (CqaFfMacScheduler* scheduler) : m_scheduler (scheduler)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
CqaSchedulerMemberCschedSapProvider::CschedCellConfigReq (const struct CschedCellConfigReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoCschedCellConfigReq (params);
|
||||
}
|
||||
|
||||
void
|
||||
CqaSchedulerMemberCschedSapProvider::CschedUeConfigReq (const struct CschedUeConfigReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoCschedUeConfigReq (params);
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
CqaSchedulerMemberCschedSapProvider::CschedLcConfigReq (const struct CschedLcConfigReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoCschedLcConfigReq (params);
|
||||
}
|
||||
|
||||
void
|
||||
CqaSchedulerMemberCschedSapProvider::CschedLcReleaseReq (const struct CschedLcReleaseReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoCschedLcReleaseReq (params);
|
||||
}
|
||||
|
||||
void
|
||||
CqaSchedulerMemberCschedSapProvider::CschedUeReleaseReq (const struct CschedUeReleaseReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoCschedUeReleaseReq (params);
|
||||
}
|
||||
|
||||
|
||||
|
||||
class CqaSchedulerMemberSchedSapProvider : public FfMacSchedSapProvider
|
||||
{
|
||||
public:
|
||||
CqaSchedulerMemberSchedSapProvider (CqaFfMacScheduler* scheduler);
|
||||
|
||||
// inherited from FfMacSchedSapProvider
|
||||
virtual void SchedDlRlcBufferReq (const struct SchedDlRlcBufferReqParameters& params);
|
||||
virtual void SchedDlPagingBufferReq (const struct SchedDlPagingBufferReqParameters& params);
|
||||
virtual void SchedDlMacBufferReq (const struct SchedDlMacBufferReqParameters& params);
|
||||
virtual void SchedDlTriggerReq (const struct SchedDlTriggerReqParameters& params);
|
||||
virtual void SchedDlRachInfoReq (const struct SchedDlRachInfoReqParameters& params);
|
||||
virtual void SchedDlCqiInfoReq (const struct SchedDlCqiInfoReqParameters& params);
|
||||
virtual void SchedUlTriggerReq (const struct SchedUlTriggerReqParameters& params);
|
||||
virtual void SchedUlNoiseInterferenceReq (const struct SchedUlNoiseInterferenceReqParameters& params);
|
||||
virtual void SchedUlSrInfoReq (const struct SchedUlSrInfoReqParameters& params);
|
||||
virtual void SchedUlMacCtrlInfoReq (const struct SchedUlMacCtrlInfoReqParameters& params);
|
||||
virtual void SchedUlCqiInfoReq (const struct SchedUlCqiInfoReqParameters& params);
|
||||
|
||||
|
||||
private:
|
||||
CqaSchedulerMemberSchedSapProvider ();
|
||||
CqaFfMacScheduler* m_scheduler;
|
||||
};
|
||||
|
||||
|
||||
|
||||
CqaSchedulerMemberSchedSapProvider::CqaSchedulerMemberSchedSapProvider ()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
CqaSchedulerMemberSchedSapProvider::CqaSchedulerMemberSchedSapProvider (CqaFfMacScheduler* scheduler)
|
||||
: m_scheduler (scheduler)
|
||||
{
|
||||
}
|
||||
|
||||
void
|
||||
CqaSchedulerMemberSchedSapProvider::SchedDlRlcBufferReq (const struct SchedDlRlcBufferReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoSchedDlRlcBufferReq (params);
|
||||
}
|
||||
|
||||
void
|
||||
CqaSchedulerMemberSchedSapProvider::SchedDlPagingBufferReq (const struct SchedDlPagingBufferReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoSchedDlPagingBufferReq (params);
|
||||
}
|
||||
|
||||
void
|
||||
CqaSchedulerMemberSchedSapProvider::SchedDlMacBufferReq (const struct SchedDlMacBufferReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoSchedDlMacBufferReq (params);
|
||||
}
|
||||
|
||||
void
|
||||
CqaSchedulerMemberSchedSapProvider::SchedDlTriggerReq (const struct SchedDlTriggerReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoSchedDlTriggerReq (params);
|
||||
}
|
||||
|
||||
void
|
||||
CqaSchedulerMemberSchedSapProvider::SchedDlRachInfoReq (const struct SchedDlRachInfoReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoSchedDlRachInfoReq (params);
|
||||
}
|
||||
|
||||
void
|
||||
CqaSchedulerMemberSchedSapProvider::SchedDlCqiInfoReq (const struct SchedDlCqiInfoReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoSchedDlCqiInfoReq (params);
|
||||
}
|
||||
|
||||
void
|
||||
CqaSchedulerMemberSchedSapProvider::SchedUlTriggerReq (const struct SchedUlTriggerReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoSchedUlTriggerReq (params);
|
||||
}
|
||||
|
||||
void
|
||||
CqaSchedulerMemberSchedSapProvider::SchedUlNoiseInterferenceReq (const struct SchedUlNoiseInterferenceReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoSchedUlNoiseInterferenceReq (params);
|
||||
}
|
||||
|
||||
void
|
||||
CqaSchedulerMemberSchedSapProvider::SchedUlSrInfoReq (const struct SchedUlSrInfoReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoSchedUlSrInfoReq (params);
|
||||
}
|
||||
|
||||
void
|
||||
CqaSchedulerMemberSchedSapProvider::SchedUlMacCtrlInfoReq (const struct SchedUlMacCtrlInfoReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoSchedUlMacCtrlInfoReq (params);
|
||||
}
|
||||
|
||||
void
|
||||
CqaSchedulerMemberSchedSapProvider::SchedUlCqiInfoReq (const struct SchedUlCqiInfoReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoSchedUlCqiInfoReq (params);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
CqaFfMacScheduler::CqaFfMacScheduler ()
|
||||
: m_cschedSapUser (0),
|
||||
m_schedSapUser (0),
|
||||
@@ -268,8 +103,8 @@ CqaFfMacScheduler::CqaFfMacScheduler ()
|
||||
m_nextRntiUl (0)
|
||||
{
|
||||
m_amc = CreateObject <LteAmc> ();
|
||||
m_cschedSapProvider = new CqaSchedulerMemberCschedSapProvider (this);
|
||||
m_schedSapProvider = new CqaSchedulerMemberSchedSapProvider (this);
|
||||
m_cschedSapProvider = new MemberCschedSapProvider<CqaFfMacScheduler> (this);
|
||||
m_schedSapProvider = new MemberSchedSapProvider<CqaFfMacScheduler> (this);
|
||||
m_ffrSapProvider = 0;
|
||||
m_ffrSapUser = new MemberLteFfrSapUser<CqaFfMacScheduler> (this);
|
||||
}
|
||||
|
||||
@@ -99,8 +99,8 @@ public:
|
||||
virtual void SetLteFfrSapProvider (LteFfrSapProvider* s);
|
||||
virtual LteFfrSapUser* GetLteFfrSapUser ();
|
||||
|
||||
friend class CqaSchedulerMemberCschedSapProvider;
|
||||
friend class CqaSchedulerMemberSchedSapProvider;
|
||||
friend class MemberCschedSapProvider<CqaFfMacScheduler>;
|
||||
friend class MemberSchedSapProvider<CqaFfMacScheduler>;
|
||||
|
||||
void TransmissionModeConfigurationUpdate (uint16_t rnti, uint8_t txMode);
|
||||
|
||||
|
||||
@@ -47,172 +47,6 @@ NS_OBJECT_ENSURE_REGISTERED (FdBetFfMacScheduler);
|
||||
|
||||
|
||||
|
||||
class FdBetSchedulerMemberCschedSapProvider : public FfMacCschedSapProvider
|
||||
{
|
||||
public:
|
||||
FdBetSchedulerMemberCschedSapProvider (FdBetFfMacScheduler* scheduler);
|
||||
|
||||
// inherited from FfMacCschedSapProvider
|
||||
virtual void CschedCellConfigReq (const struct CschedCellConfigReqParameters& params);
|
||||
virtual void CschedUeConfigReq (const struct CschedUeConfigReqParameters& params);
|
||||
virtual void CschedLcConfigReq (const struct CschedLcConfigReqParameters& params);
|
||||
virtual void CschedLcReleaseReq (const struct CschedLcReleaseReqParameters& params);
|
||||
virtual void CschedUeReleaseReq (const struct CschedUeReleaseReqParameters& params);
|
||||
|
||||
private:
|
||||
FdBetSchedulerMemberCschedSapProvider ();
|
||||
FdBetFfMacScheduler* m_scheduler;
|
||||
};
|
||||
|
||||
FdBetSchedulerMemberCschedSapProvider::FdBetSchedulerMemberCschedSapProvider ()
|
||||
{
|
||||
}
|
||||
|
||||
FdBetSchedulerMemberCschedSapProvider::FdBetSchedulerMemberCschedSapProvider (FdBetFfMacScheduler* scheduler) : m_scheduler (scheduler)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
FdBetSchedulerMemberCschedSapProvider::CschedCellConfigReq (const struct CschedCellConfigReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoCschedCellConfigReq (params);
|
||||
}
|
||||
|
||||
void
|
||||
FdBetSchedulerMemberCschedSapProvider::CschedUeConfigReq (const struct CschedUeConfigReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoCschedUeConfigReq (params);
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
FdBetSchedulerMemberCschedSapProvider::CschedLcConfigReq (const struct CschedLcConfigReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoCschedLcConfigReq (params);
|
||||
}
|
||||
|
||||
void
|
||||
FdBetSchedulerMemberCschedSapProvider::CschedLcReleaseReq (const struct CschedLcReleaseReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoCschedLcReleaseReq (params);
|
||||
}
|
||||
|
||||
void
|
||||
FdBetSchedulerMemberCschedSapProvider::CschedUeReleaseReq (const struct CschedUeReleaseReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoCschedUeReleaseReq (params);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
class FdBetSchedulerMemberSchedSapProvider : public FfMacSchedSapProvider
|
||||
{
|
||||
public:
|
||||
FdBetSchedulerMemberSchedSapProvider (FdBetFfMacScheduler* scheduler);
|
||||
|
||||
// inherited from FfMacSchedSapProvider
|
||||
virtual void SchedDlRlcBufferReq (const struct SchedDlRlcBufferReqParameters& params);
|
||||
virtual void SchedDlPagingBufferReq (const struct SchedDlPagingBufferReqParameters& params);
|
||||
virtual void SchedDlMacBufferReq (const struct SchedDlMacBufferReqParameters& params);
|
||||
virtual void SchedDlTriggerReq (const struct SchedDlTriggerReqParameters& params);
|
||||
virtual void SchedDlRachInfoReq (const struct SchedDlRachInfoReqParameters& params);
|
||||
virtual void SchedDlCqiInfoReq (const struct SchedDlCqiInfoReqParameters& params);
|
||||
virtual void SchedUlTriggerReq (const struct SchedUlTriggerReqParameters& params);
|
||||
virtual void SchedUlNoiseInterferenceReq (const struct SchedUlNoiseInterferenceReqParameters& params);
|
||||
virtual void SchedUlSrInfoReq (const struct SchedUlSrInfoReqParameters& params);
|
||||
virtual void SchedUlMacCtrlInfoReq (const struct SchedUlMacCtrlInfoReqParameters& params);
|
||||
virtual void SchedUlCqiInfoReq (const struct SchedUlCqiInfoReqParameters& params);
|
||||
|
||||
|
||||
private:
|
||||
FdBetSchedulerMemberSchedSapProvider ();
|
||||
FdBetFfMacScheduler* m_scheduler;
|
||||
};
|
||||
|
||||
|
||||
|
||||
FdBetSchedulerMemberSchedSapProvider::FdBetSchedulerMemberSchedSapProvider ()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
FdBetSchedulerMemberSchedSapProvider::FdBetSchedulerMemberSchedSapProvider (FdBetFfMacScheduler* scheduler)
|
||||
: m_scheduler (scheduler)
|
||||
{
|
||||
}
|
||||
|
||||
void
|
||||
FdBetSchedulerMemberSchedSapProvider::SchedDlRlcBufferReq (const struct SchedDlRlcBufferReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoSchedDlRlcBufferReq (params);
|
||||
}
|
||||
|
||||
void
|
||||
FdBetSchedulerMemberSchedSapProvider::SchedDlPagingBufferReq (const struct SchedDlPagingBufferReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoSchedDlPagingBufferReq (params);
|
||||
}
|
||||
|
||||
void
|
||||
FdBetSchedulerMemberSchedSapProvider::SchedDlMacBufferReq (const struct SchedDlMacBufferReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoSchedDlMacBufferReq (params);
|
||||
}
|
||||
|
||||
void
|
||||
FdBetSchedulerMemberSchedSapProvider::SchedDlTriggerReq (const struct SchedDlTriggerReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoSchedDlTriggerReq (params);
|
||||
}
|
||||
|
||||
void
|
||||
FdBetSchedulerMemberSchedSapProvider::SchedDlRachInfoReq (const struct SchedDlRachInfoReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoSchedDlRachInfoReq (params);
|
||||
}
|
||||
|
||||
void
|
||||
FdBetSchedulerMemberSchedSapProvider::SchedDlCqiInfoReq (const struct SchedDlCqiInfoReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoSchedDlCqiInfoReq (params);
|
||||
}
|
||||
|
||||
void
|
||||
FdBetSchedulerMemberSchedSapProvider::SchedUlTriggerReq (const struct SchedUlTriggerReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoSchedUlTriggerReq (params);
|
||||
}
|
||||
|
||||
void
|
||||
FdBetSchedulerMemberSchedSapProvider::SchedUlNoiseInterferenceReq (const struct SchedUlNoiseInterferenceReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoSchedUlNoiseInterferenceReq (params);
|
||||
}
|
||||
|
||||
void
|
||||
FdBetSchedulerMemberSchedSapProvider::SchedUlSrInfoReq (const struct SchedUlSrInfoReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoSchedUlSrInfoReq (params);
|
||||
}
|
||||
|
||||
void
|
||||
FdBetSchedulerMemberSchedSapProvider::SchedUlMacCtrlInfoReq (const struct SchedUlMacCtrlInfoReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoSchedUlMacCtrlInfoReq (params);
|
||||
}
|
||||
|
||||
void
|
||||
FdBetSchedulerMemberSchedSapProvider::SchedUlCqiInfoReq (const struct SchedUlCqiInfoReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoSchedUlCqiInfoReq (params);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
FdBetFfMacScheduler::FdBetFfMacScheduler ()
|
||||
: m_cschedSapUser (0),
|
||||
m_schedSapUser (0),
|
||||
@@ -220,8 +54,8 @@ FdBetFfMacScheduler::FdBetFfMacScheduler ()
|
||||
m_nextRntiUl (0)
|
||||
{
|
||||
m_amc = CreateObject <LteAmc> ();
|
||||
m_cschedSapProvider = new FdBetSchedulerMemberCschedSapProvider (this);
|
||||
m_schedSapProvider = new FdBetSchedulerMemberSchedSapProvider (this);
|
||||
m_cschedSapProvider = new MemberCschedSapProvider<FdBetFfMacScheduler> (this);
|
||||
m_schedSapProvider = new MemberSchedSapProvider<FdBetFfMacScheduler> (this);
|
||||
}
|
||||
|
||||
FdBetFfMacScheduler::~FdBetFfMacScheduler ()
|
||||
|
||||
@@ -98,8 +98,8 @@ public:
|
||||
virtual void SetLteFfrSapProvider (LteFfrSapProvider* s);
|
||||
virtual LteFfrSapUser* GetLteFfrSapUser ();
|
||||
|
||||
friend class FdBetSchedulerMemberCschedSapProvider;
|
||||
friend class FdBetSchedulerMemberSchedSapProvider;
|
||||
friend class MemberCschedSapProvider<FdBetFfMacScheduler>;
|
||||
friend class MemberSchedSapProvider<FdBetFfMacScheduler>;
|
||||
|
||||
void TransmissionModeConfigurationUpdate (uint16_t rnti, uint8_t txMode);
|
||||
|
||||
|
||||
@@ -47,180 +47,14 @@ NS_OBJECT_ENSURE_REGISTERED (FdMtFfMacScheduler);
|
||||
|
||||
|
||||
|
||||
class FdMtSchedulerMemberCschedSapProvider : public FfMacCschedSapProvider
|
||||
{
|
||||
public:
|
||||
FdMtSchedulerMemberCschedSapProvider (FdMtFfMacScheduler* scheduler);
|
||||
|
||||
// inherited from FfMacCschedSapProvider
|
||||
virtual void CschedCellConfigReq (const struct CschedCellConfigReqParameters& params);
|
||||
virtual void CschedUeConfigReq (const struct CschedUeConfigReqParameters& params);
|
||||
virtual void CschedLcConfigReq (const struct CschedLcConfigReqParameters& params);
|
||||
virtual void CschedLcReleaseReq (const struct CschedLcReleaseReqParameters& params);
|
||||
virtual void CschedUeReleaseReq (const struct CschedUeReleaseReqParameters& params);
|
||||
|
||||
private:
|
||||
FdMtSchedulerMemberCschedSapProvider ();
|
||||
FdMtFfMacScheduler* m_scheduler;
|
||||
};
|
||||
|
||||
FdMtSchedulerMemberCschedSapProvider::FdMtSchedulerMemberCschedSapProvider ()
|
||||
{
|
||||
}
|
||||
|
||||
FdMtSchedulerMemberCschedSapProvider::FdMtSchedulerMemberCschedSapProvider (FdMtFfMacScheduler* scheduler) : m_scheduler (scheduler)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
FdMtSchedulerMemberCschedSapProvider::CschedCellConfigReq (const struct CschedCellConfigReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoCschedCellConfigReq (params);
|
||||
}
|
||||
|
||||
void
|
||||
FdMtSchedulerMemberCschedSapProvider::CschedUeConfigReq (const struct CschedUeConfigReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoCschedUeConfigReq (params);
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
FdMtSchedulerMemberCschedSapProvider::CschedLcConfigReq (const struct CschedLcConfigReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoCschedLcConfigReq (params);
|
||||
}
|
||||
|
||||
void
|
||||
FdMtSchedulerMemberCschedSapProvider::CschedLcReleaseReq (const struct CschedLcReleaseReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoCschedLcReleaseReq (params);
|
||||
}
|
||||
|
||||
void
|
||||
FdMtSchedulerMemberCschedSapProvider::CschedUeReleaseReq (const struct CschedUeReleaseReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoCschedUeReleaseReq (params);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
class FdMtSchedulerMemberSchedSapProvider : public FfMacSchedSapProvider
|
||||
{
|
||||
public:
|
||||
FdMtSchedulerMemberSchedSapProvider (FdMtFfMacScheduler* scheduler);
|
||||
|
||||
// inherited from FfMacSchedSapProvider
|
||||
virtual void SchedDlRlcBufferReq (const struct SchedDlRlcBufferReqParameters& params);
|
||||
virtual void SchedDlPagingBufferReq (const struct SchedDlPagingBufferReqParameters& params);
|
||||
virtual void SchedDlMacBufferReq (const struct SchedDlMacBufferReqParameters& params);
|
||||
virtual void SchedDlTriggerReq (const struct SchedDlTriggerReqParameters& params);
|
||||
virtual void SchedDlRachInfoReq (const struct SchedDlRachInfoReqParameters& params);
|
||||
virtual void SchedDlCqiInfoReq (const struct SchedDlCqiInfoReqParameters& params);
|
||||
virtual void SchedUlTriggerReq (const struct SchedUlTriggerReqParameters& params);
|
||||
virtual void SchedUlNoiseInterferenceReq (const struct SchedUlNoiseInterferenceReqParameters& params);
|
||||
virtual void SchedUlSrInfoReq (const struct SchedUlSrInfoReqParameters& params);
|
||||
virtual void SchedUlMacCtrlInfoReq (const struct SchedUlMacCtrlInfoReqParameters& params);
|
||||
virtual void SchedUlCqiInfoReq (const struct SchedUlCqiInfoReqParameters& params);
|
||||
|
||||
|
||||
private:
|
||||
FdMtSchedulerMemberSchedSapProvider ();
|
||||
FdMtFfMacScheduler* m_scheduler;
|
||||
};
|
||||
|
||||
|
||||
|
||||
FdMtSchedulerMemberSchedSapProvider::FdMtSchedulerMemberSchedSapProvider ()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
FdMtSchedulerMemberSchedSapProvider::FdMtSchedulerMemberSchedSapProvider (FdMtFfMacScheduler* scheduler)
|
||||
: m_scheduler (scheduler)
|
||||
{
|
||||
}
|
||||
|
||||
void
|
||||
FdMtSchedulerMemberSchedSapProvider::SchedDlRlcBufferReq (const struct SchedDlRlcBufferReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoSchedDlRlcBufferReq (params);
|
||||
}
|
||||
|
||||
void
|
||||
FdMtSchedulerMemberSchedSapProvider::SchedDlPagingBufferReq (const struct SchedDlPagingBufferReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoSchedDlPagingBufferReq (params);
|
||||
}
|
||||
|
||||
void
|
||||
FdMtSchedulerMemberSchedSapProvider::SchedDlMacBufferReq (const struct SchedDlMacBufferReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoSchedDlMacBufferReq (params);
|
||||
}
|
||||
|
||||
void
|
||||
FdMtSchedulerMemberSchedSapProvider::SchedDlTriggerReq (const struct SchedDlTriggerReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoSchedDlTriggerReq (params);
|
||||
}
|
||||
|
||||
void
|
||||
FdMtSchedulerMemberSchedSapProvider::SchedDlRachInfoReq (const struct SchedDlRachInfoReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoSchedDlRachInfoReq (params);
|
||||
}
|
||||
|
||||
void
|
||||
FdMtSchedulerMemberSchedSapProvider::SchedDlCqiInfoReq (const struct SchedDlCqiInfoReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoSchedDlCqiInfoReq (params);
|
||||
}
|
||||
|
||||
void
|
||||
FdMtSchedulerMemberSchedSapProvider::SchedUlTriggerReq (const struct SchedUlTriggerReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoSchedUlTriggerReq (params);
|
||||
}
|
||||
|
||||
void
|
||||
FdMtSchedulerMemberSchedSapProvider::SchedUlNoiseInterferenceReq (const struct SchedUlNoiseInterferenceReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoSchedUlNoiseInterferenceReq (params);
|
||||
}
|
||||
|
||||
void
|
||||
FdMtSchedulerMemberSchedSapProvider::SchedUlSrInfoReq (const struct SchedUlSrInfoReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoSchedUlSrInfoReq (params);
|
||||
}
|
||||
|
||||
void
|
||||
FdMtSchedulerMemberSchedSapProvider::SchedUlMacCtrlInfoReq (const struct SchedUlMacCtrlInfoReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoSchedUlMacCtrlInfoReq (params);
|
||||
}
|
||||
|
||||
void
|
||||
FdMtSchedulerMemberSchedSapProvider::SchedUlCqiInfoReq (const struct SchedUlCqiInfoReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoSchedUlCqiInfoReq (params);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
FdMtFfMacScheduler::FdMtFfMacScheduler ()
|
||||
: m_cschedSapUser (0),
|
||||
m_schedSapUser (0),
|
||||
m_nextRntiUl (0)
|
||||
{
|
||||
m_amc = CreateObject <LteAmc> ();
|
||||
m_cschedSapProvider = new FdMtSchedulerMemberCschedSapProvider (this);
|
||||
m_schedSapProvider = new FdMtSchedulerMemberSchedSapProvider (this);
|
||||
m_cschedSapProvider = new MemberCschedSapProvider<FdMtFfMacScheduler> (this);
|
||||
m_schedSapProvider = new MemberSchedSapProvider<FdMtFfMacScheduler> (this);
|
||||
}
|
||||
|
||||
FdMtFfMacScheduler::~FdMtFfMacScheduler ()
|
||||
|
||||
@@ -90,8 +90,8 @@ public:
|
||||
virtual void SetLteFfrSapProvider (LteFfrSapProvider* s);
|
||||
virtual LteFfrSapUser* GetLteFfrSapUser ();
|
||||
|
||||
friend class FdMtSchedulerMemberCschedSapProvider;
|
||||
friend class FdMtSchedulerMemberSchedSapProvider;
|
||||
friend class MemberCschedSapProvider<FdMtFfMacScheduler>;
|
||||
friend class MemberSchedSapProvider<FdMtFfMacScheduler>;
|
||||
|
||||
void TransmissionModeConfigurationUpdate (uint16_t rnti, uint8_t txMode);
|
||||
|
||||
|
||||
@@ -48,172 +48,6 @@ NS_OBJECT_ENSURE_REGISTERED (FdTbfqFfMacScheduler);
|
||||
|
||||
|
||||
|
||||
class FdTbfqSchedulerMemberCschedSapProvider : public FfMacCschedSapProvider
|
||||
{
|
||||
public:
|
||||
FdTbfqSchedulerMemberCschedSapProvider (FdTbfqFfMacScheduler* scheduler);
|
||||
|
||||
// inherited from FfMacCschedSapProvider
|
||||
virtual void CschedCellConfigReq (const struct CschedCellConfigReqParameters& params);
|
||||
virtual void CschedUeConfigReq (const struct CschedUeConfigReqParameters& params);
|
||||
virtual void CschedLcConfigReq (const struct CschedLcConfigReqParameters& params);
|
||||
virtual void CschedLcReleaseReq (const struct CschedLcReleaseReqParameters& params);
|
||||
virtual void CschedUeReleaseReq (const struct CschedUeReleaseReqParameters& params);
|
||||
|
||||
private:
|
||||
FdTbfqSchedulerMemberCschedSapProvider ();
|
||||
FdTbfqFfMacScheduler* m_scheduler;
|
||||
};
|
||||
|
||||
FdTbfqSchedulerMemberCschedSapProvider::FdTbfqSchedulerMemberCschedSapProvider ()
|
||||
{
|
||||
}
|
||||
|
||||
FdTbfqSchedulerMemberCschedSapProvider::FdTbfqSchedulerMemberCschedSapProvider (FdTbfqFfMacScheduler* scheduler) : m_scheduler (scheduler)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
FdTbfqSchedulerMemberCschedSapProvider::CschedCellConfigReq (const struct CschedCellConfigReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoCschedCellConfigReq (params);
|
||||
}
|
||||
|
||||
void
|
||||
FdTbfqSchedulerMemberCschedSapProvider::CschedUeConfigReq (const struct CschedUeConfigReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoCschedUeConfigReq (params);
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
FdTbfqSchedulerMemberCschedSapProvider::CschedLcConfigReq (const struct CschedLcConfigReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoCschedLcConfigReq (params);
|
||||
}
|
||||
|
||||
void
|
||||
FdTbfqSchedulerMemberCschedSapProvider::CschedLcReleaseReq (const struct CschedLcReleaseReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoCschedLcReleaseReq (params);
|
||||
}
|
||||
|
||||
void
|
||||
FdTbfqSchedulerMemberCschedSapProvider::CschedUeReleaseReq (const struct CschedUeReleaseReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoCschedUeReleaseReq (params);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
class FdTbfqSchedulerMemberSchedSapProvider : public FfMacSchedSapProvider
|
||||
{
|
||||
public:
|
||||
FdTbfqSchedulerMemberSchedSapProvider (FdTbfqFfMacScheduler* scheduler);
|
||||
|
||||
// inherited from FfMacSchedSapProvider
|
||||
virtual void SchedDlRlcBufferReq (const struct SchedDlRlcBufferReqParameters& params);
|
||||
virtual void SchedDlPagingBufferReq (const struct SchedDlPagingBufferReqParameters& params);
|
||||
virtual void SchedDlMacBufferReq (const struct SchedDlMacBufferReqParameters& params);
|
||||
virtual void SchedDlTriggerReq (const struct SchedDlTriggerReqParameters& params);
|
||||
virtual void SchedDlRachInfoReq (const struct SchedDlRachInfoReqParameters& params);
|
||||
virtual void SchedDlCqiInfoReq (const struct SchedDlCqiInfoReqParameters& params);
|
||||
virtual void SchedUlTriggerReq (const struct SchedUlTriggerReqParameters& params);
|
||||
virtual void SchedUlNoiseInterferenceReq (const struct SchedUlNoiseInterferenceReqParameters& params);
|
||||
virtual void SchedUlSrInfoReq (const struct SchedUlSrInfoReqParameters& params);
|
||||
virtual void SchedUlMacCtrlInfoReq (const struct SchedUlMacCtrlInfoReqParameters& params);
|
||||
virtual void SchedUlCqiInfoReq (const struct SchedUlCqiInfoReqParameters& params);
|
||||
|
||||
|
||||
private:
|
||||
FdTbfqSchedulerMemberSchedSapProvider ();
|
||||
FdTbfqFfMacScheduler* m_scheduler;
|
||||
};
|
||||
|
||||
|
||||
|
||||
FdTbfqSchedulerMemberSchedSapProvider::FdTbfqSchedulerMemberSchedSapProvider ()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
FdTbfqSchedulerMemberSchedSapProvider::FdTbfqSchedulerMemberSchedSapProvider (FdTbfqFfMacScheduler* scheduler)
|
||||
: m_scheduler (scheduler)
|
||||
{
|
||||
}
|
||||
|
||||
void
|
||||
FdTbfqSchedulerMemberSchedSapProvider::SchedDlRlcBufferReq (const struct SchedDlRlcBufferReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoSchedDlRlcBufferReq (params);
|
||||
}
|
||||
|
||||
void
|
||||
FdTbfqSchedulerMemberSchedSapProvider::SchedDlPagingBufferReq (const struct SchedDlPagingBufferReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoSchedDlPagingBufferReq (params);
|
||||
}
|
||||
|
||||
void
|
||||
FdTbfqSchedulerMemberSchedSapProvider::SchedDlMacBufferReq (const struct SchedDlMacBufferReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoSchedDlMacBufferReq (params);
|
||||
}
|
||||
|
||||
void
|
||||
FdTbfqSchedulerMemberSchedSapProvider::SchedDlTriggerReq (const struct SchedDlTriggerReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoSchedDlTriggerReq (params);
|
||||
}
|
||||
|
||||
void
|
||||
FdTbfqSchedulerMemberSchedSapProvider::SchedDlRachInfoReq (const struct SchedDlRachInfoReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoSchedDlRachInfoReq (params);
|
||||
}
|
||||
|
||||
void
|
||||
FdTbfqSchedulerMemberSchedSapProvider::SchedDlCqiInfoReq (const struct SchedDlCqiInfoReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoSchedDlCqiInfoReq (params);
|
||||
}
|
||||
|
||||
void
|
||||
FdTbfqSchedulerMemberSchedSapProvider::SchedUlTriggerReq (const struct SchedUlTriggerReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoSchedUlTriggerReq (params);
|
||||
}
|
||||
|
||||
void
|
||||
FdTbfqSchedulerMemberSchedSapProvider::SchedUlNoiseInterferenceReq (const struct SchedUlNoiseInterferenceReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoSchedUlNoiseInterferenceReq (params);
|
||||
}
|
||||
|
||||
void
|
||||
FdTbfqSchedulerMemberSchedSapProvider::SchedUlSrInfoReq (const struct SchedUlSrInfoReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoSchedUlSrInfoReq (params);
|
||||
}
|
||||
|
||||
void
|
||||
FdTbfqSchedulerMemberSchedSapProvider::SchedUlMacCtrlInfoReq (const struct SchedUlMacCtrlInfoReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoSchedUlMacCtrlInfoReq (params);
|
||||
}
|
||||
|
||||
void
|
||||
FdTbfqSchedulerMemberSchedSapProvider::SchedUlCqiInfoReq (const struct SchedUlCqiInfoReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoSchedUlCqiInfoReq (params);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
FdTbfqFfMacScheduler::FdTbfqFfMacScheduler ()
|
||||
: m_cschedSapUser (0),
|
||||
m_schedSapUser (0),
|
||||
@@ -221,8 +55,8 @@ FdTbfqFfMacScheduler::FdTbfqFfMacScheduler ()
|
||||
bankSize (0)
|
||||
{
|
||||
m_amc = CreateObject <LteAmc> ();
|
||||
m_cschedSapProvider = new FdTbfqSchedulerMemberCschedSapProvider (this);
|
||||
m_schedSapProvider = new FdTbfqSchedulerMemberSchedSapProvider (this);
|
||||
m_cschedSapProvider = new MemberCschedSapProvider<FdTbfqFfMacScheduler> (this);
|
||||
m_schedSapProvider = new MemberSchedSapProvider<FdTbfqFfMacScheduler> (this);
|
||||
m_ffrSapProvider = 0;
|
||||
m_ffrSapUser = new MemberLteFfrSapUser<FdTbfqFfMacScheduler> (this);
|
||||
}
|
||||
|
||||
@@ -105,8 +105,8 @@ public:
|
||||
virtual void SetLteFfrSapProvider (LteFfrSapProvider* s);
|
||||
virtual LteFfrSapUser* GetLteFfrSapUser ();
|
||||
|
||||
friend class FdTbfqSchedulerMemberCschedSapProvider;
|
||||
friend class FdTbfqSchedulerMemberSchedSapProvider;
|
||||
friend class MemberCschedSapProvider<FdTbfqFfMacScheduler>;
|
||||
friend class MemberSchedSapProvider<FdTbfqFfMacScheduler>;
|
||||
|
||||
void TransmissionModeConfigurationUpdate (uint16_t rnti, uint8_t txMode);
|
||||
|
||||
|
||||
@@ -370,6 +370,71 @@ public:
|
||||
private:
|
||||
};
|
||||
|
||||
|
||||
template <class C>
|
||||
class MemberCschedSapProvider : public FfMacCschedSapProvider
|
||||
{
|
||||
public:
|
||||
MemberCschedSapProvider (C* scheduler);
|
||||
|
||||
// inherited from FfMacCschedSapProvider
|
||||
virtual void CschedCellConfigReq (const struct CschedCellConfigReqParameters& params);
|
||||
virtual void CschedUeConfigReq (const struct CschedUeConfigReqParameters& params);
|
||||
virtual void CschedLcConfigReq (const struct CschedLcConfigReqParameters& params);
|
||||
virtual void CschedLcReleaseReq (const struct CschedLcReleaseReqParameters& params);
|
||||
virtual void CschedUeReleaseReq (const struct CschedUeReleaseReqParameters& params);
|
||||
|
||||
private:
|
||||
MemberCschedSapProvider ();
|
||||
C* m_scheduler;
|
||||
};
|
||||
|
||||
template <class C>
|
||||
MemberCschedSapProvider<C>::MemberCschedSapProvider ()
|
||||
{
|
||||
}
|
||||
|
||||
template <class C>
|
||||
MemberCschedSapProvider<C>::MemberCschedSapProvider (C* scheduler) : m_scheduler (scheduler)
|
||||
{
|
||||
}
|
||||
|
||||
template <class C>
|
||||
void
|
||||
MemberCschedSapProvider<C>::CschedCellConfigReq (const struct CschedCellConfigReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoCschedCellConfigReq (params);
|
||||
}
|
||||
|
||||
template <class C>
|
||||
void
|
||||
MemberCschedSapProvider<C>::CschedUeConfigReq (const struct CschedUeConfigReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoCschedUeConfigReq (params);
|
||||
}
|
||||
|
||||
template <class C>
|
||||
void
|
||||
MemberCschedSapProvider<C>::CschedLcConfigReq (const struct CschedLcConfigReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoCschedLcConfigReq (params);
|
||||
}
|
||||
|
||||
template <class C>
|
||||
void
|
||||
MemberCschedSapProvider<C>::CschedLcReleaseReq (const struct CschedLcReleaseReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoCschedLcReleaseReq (params);
|
||||
}
|
||||
|
||||
template <class C>
|
||||
void
|
||||
MemberCschedSapProvider<C>::CschedUeReleaseReq (const struct CschedUeReleaseReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoCschedUeReleaseReq (params);
|
||||
}
|
||||
|
||||
|
||||
} // end namespace ns3
|
||||
|
||||
#endif /* FF_MAC_CSCHED_SAP_H */
|
||||
|
||||
@@ -269,6 +269,127 @@ public:
|
||||
private:
|
||||
};
|
||||
|
||||
|
||||
|
||||
template <class C>
|
||||
class MemberSchedSapProvider : public FfMacSchedSapProvider
|
||||
{
|
||||
public:
|
||||
MemberSchedSapProvider (C* scheduler);
|
||||
|
||||
// inherited from FfMacSchedSapProvider
|
||||
virtual void SchedDlRlcBufferReq (const struct SchedDlRlcBufferReqParameters& params);
|
||||
virtual void SchedDlPagingBufferReq (const struct SchedDlPagingBufferReqParameters& params);
|
||||
virtual void SchedDlMacBufferReq (const struct SchedDlMacBufferReqParameters& params);
|
||||
virtual void SchedDlTriggerReq (const struct SchedDlTriggerReqParameters& params);
|
||||
virtual void SchedDlRachInfoReq (const struct SchedDlRachInfoReqParameters& params);
|
||||
virtual void SchedDlCqiInfoReq (const struct SchedDlCqiInfoReqParameters& params);
|
||||
virtual void SchedUlTriggerReq (const struct SchedUlTriggerReqParameters& params);
|
||||
virtual void SchedUlNoiseInterferenceReq (const struct SchedUlNoiseInterferenceReqParameters& params);
|
||||
virtual void SchedUlSrInfoReq (const struct SchedUlSrInfoReqParameters& params);
|
||||
virtual void SchedUlMacCtrlInfoReq (const struct SchedUlMacCtrlInfoReqParameters& params);
|
||||
virtual void SchedUlCqiInfoReq (const struct SchedUlCqiInfoReqParameters& params);
|
||||
|
||||
|
||||
private:
|
||||
MemberSchedSapProvider ();
|
||||
C* m_scheduler;
|
||||
};
|
||||
|
||||
|
||||
template <class C>
|
||||
MemberSchedSapProvider<C>::MemberSchedSapProvider ()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
template <class C>
|
||||
MemberSchedSapProvider<C>::MemberSchedSapProvider (C* scheduler)
|
||||
: m_scheduler (scheduler)
|
||||
{
|
||||
}
|
||||
|
||||
template <class C>
|
||||
void
|
||||
MemberSchedSapProvider<C>::SchedDlRlcBufferReq (const struct SchedDlRlcBufferReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoSchedDlRlcBufferReq (params);
|
||||
}
|
||||
|
||||
template <class C>
|
||||
void
|
||||
MemberSchedSapProvider<C>::SchedDlPagingBufferReq (const struct SchedDlPagingBufferReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoSchedDlPagingBufferReq (params);
|
||||
}
|
||||
|
||||
template <class C>
|
||||
void
|
||||
MemberSchedSapProvider<C>::SchedDlMacBufferReq (const struct SchedDlMacBufferReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoSchedDlMacBufferReq (params);
|
||||
}
|
||||
|
||||
template <class C>
|
||||
void
|
||||
MemberSchedSapProvider<C>::SchedDlTriggerReq (const struct SchedDlTriggerReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoSchedDlTriggerReq (params);
|
||||
}
|
||||
|
||||
template <class C>
|
||||
void
|
||||
MemberSchedSapProvider<C>::SchedDlRachInfoReq (const struct SchedDlRachInfoReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoSchedDlRachInfoReq (params);
|
||||
}
|
||||
|
||||
template <class C>
|
||||
void
|
||||
MemberSchedSapProvider<C>::SchedDlCqiInfoReq (const struct SchedDlCqiInfoReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoSchedDlCqiInfoReq (params);
|
||||
}
|
||||
|
||||
template <class C>
|
||||
void
|
||||
MemberSchedSapProvider<C>::SchedUlTriggerReq (const struct SchedUlTriggerReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoSchedUlTriggerReq (params);
|
||||
}
|
||||
|
||||
template <class C>
|
||||
void
|
||||
MemberSchedSapProvider<C>::SchedUlNoiseInterferenceReq (const struct SchedUlNoiseInterferenceReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoSchedUlNoiseInterferenceReq (params);
|
||||
}
|
||||
|
||||
template <class C>
|
||||
void
|
||||
MemberSchedSapProvider<C>::SchedUlSrInfoReq (const struct SchedUlSrInfoReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoSchedUlSrInfoReq (params);
|
||||
}
|
||||
|
||||
template <class C>
|
||||
void
|
||||
MemberSchedSapProvider<C>::SchedUlMacCtrlInfoReq (const struct SchedUlMacCtrlInfoReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoSchedUlMacCtrlInfoReq (params);
|
||||
}
|
||||
|
||||
template <class C>
|
||||
void
|
||||
MemberSchedSapProvider<C>::SchedUlCqiInfoReq (const struct SchedUlCqiInfoReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoSchedUlCqiInfoReq (params);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
} // namespace ns3
|
||||
|
||||
#endif /* FF_MAC_SCHED_SAP_H */
|
||||
|
||||
@@ -47,172 +47,6 @@ NS_OBJECT_ENSURE_REGISTERED (PfFfMacScheduler);
|
||||
|
||||
|
||||
|
||||
class PfSchedulerMemberCschedSapProvider : public FfMacCschedSapProvider
|
||||
{
|
||||
public:
|
||||
PfSchedulerMemberCschedSapProvider (PfFfMacScheduler* scheduler);
|
||||
|
||||
// inherited from FfMacCschedSapProvider
|
||||
virtual void CschedCellConfigReq (const struct CschedCellConfigReqParameters& params);
|
||||
virtual void CschedUeConfigReq (const struct CschedUeConfigReqParameters& params);
|
||||
virtual void CschedLcConfigReq (const struct CschedLcConfigReqParameters& params);
|
||||
virtual void CschedLcReleaseReq (const struct CschedLcReleaseReqParameters& params);
|
||||
virtual void CschedUeReleaseReq (const struct CschedUeReleaseReqParameters& params);
|
||||
|
||||
private:
|
||||
PfSchedulerMemberCschedSapProvider ();
|
||||
PfFfMacScheduler* m_scheduler;
|
||||
};
|
||||
|
||||
PfSchedulerMemberCschedSapProvider::PfSchedulerMemberCschedSapProvider ()
|
||||
{
|
||||
}
|
||||
|
||||
PfSchedulerMemberCschedSapProvider::PfSchedulerMemberCschedSapProvider (PfFfMacScheduler* scheduler) : m_scheduler (scheduler)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
PfSchedulerMemberCschedSapProvider::CschedCellConfigReq (const struct CschedCellConfigReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoCschedCellConfigReq (params);
|
||||
}
|
||||
|
||||
void
|
||||
PfSchedulerMemberCschedSapProvider::CschedUeConfigReq (const struct CschedUeConfigReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoCschedUeConfigReq (params);
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
PfSchedulerMemberCschedSapProvider::CschedLcConfigReq (const struct CschedLcConfigReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoCschedLcConfigReq (params);
|
||||
}
|
||||
|
||||
void
|
||||
PfSchedulerMemberCschedSapProvider::CschedLcReleaseReq (const struct CschedLcReleaseReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoCschedLcReleaseReq (params);
|
||||
}
|
||||
|
||||
void
|
||||
PfSchedulerMemberCschedSapProvider::CschedUeReleaseReq (const struct CschedUeReleaseReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoCschedUeReleaseReq (params);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
class PfSchedulerMemberSchedSapProvider : public FfMacSchedSapProvider
|
||||
{
|
||||
public:
|
||||
PfSchedulerMemberSchedSapProvider (PfFfMacScheduler* scheduler);
|
||||
|
||||
// inherited from FfMacSchedSapProvider
|
||||
virtual void SchedDlRlcBufferReq (const struct SchedDlRlcBufferReqParameters& params);
|
||||
virtual void SchedDlPagingBufferReq (const struct SchedDlPagingBufferReqParameters& params);
|
||||
virtual void SchedDlMacBufferReq (const struct SchedDlMacBufferReqParameters& params);
|
||||
virtual void SchedDlTriggerReq (const struct SchedDlTriggerReqParameters& params);
|
||||
virtual void SchedDlRachInfoReq (const struct SchedDlRachInfoReqParameters& params);
|
||||
virtual void SchedDlCqiInfoReq (const struct SchedDlCqiInfoReqParameters& params);
|
||||
virtual void SchedUlTriggerReq (const struct SchedUlTriggerReqParameters& params);
|
||||
virtual void SchedUlNoiseInterferenceReq (const struct SchedUlNoiseInterferenceReqParameters& params);
|
||||
virtual void SchedUlSrInfoReq (const struct SchedUlSrInfoReqParameters& params);
|
||||
virtual void SchedUlMacCtrlInfoReq (const struct SchedUlMacCtrlInfoReqParameters& params);
|
||||
virtual void SchedUlCqiInfoReq (const struct SchedUlCqiInfoReqParameters& params);
|
||||
|
||||
|
||||
private:
|
||||
PfSchedulerMemberSchedSapProvider ();
|
||||
PfFfMacScheduler* m_scheduler;
|
||||
};
|
||||
|
||||
|
||||
|
||||
PfSchedulerMemberSchedSapProvider::PfSchedulerMemberSchedSapProvider ()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
PfSchedulerMemberSchedSapProvider::PfSchedulerMemberSchedSapProvider (PfFfMacScheduler* scheduler)
|
||||
: m_scheduler (scheduler)
|
||||
{
|
||||
}
|
||||
|
||||
void
|
||||
PfSchedulerMemberSchedSapProvider::SchedDlRlcBufferReq (const struct SchedDlRlcBufferReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoSchedDlRlcBufferReq (params);
|
||||
}
|
||||
|
||||
void
|
||||
PfSchedulerMemberSchedSapProvider::SchedDlPagingBufferReq (const struct SchedDlPagingBufferReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoSchedDlPagingBufferReq (params);
|
||||
}
|
||||
|
||||
void
|
||||
PfSchedulerMemberSchedSapProvider::SchedDlMacBufferReq (const struct SchedDlMacBufferReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoSchedDlMacBufferReq (params);
|
||||
}
|
||||
|
||||
void
|
||||
PfSchedulerMemberSchedSapProvider::SchedDlTriggerReq (const struct SchedDlTriggerReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoSchedDlTriggerReq (params);
|
||||
}
|
||||
|
||||
void
|
||||
PfSchedulerMemberSchedSapProvider::SchedDlRachInfoReq (const struct SchedDlRachInfoReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoSchedDlRachInfoReq (params);
|
||||
}
|
||||
|
||||
void
|
||||
PfSchedulerMemberSchedSapProvider::SchedDlCqiInfoReq (const struct SchedDlCqiInfoReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoSchedDlCqiInfoReq (params);
|
||||
}
|
||||
|
||||
void
|
||||
PfSchedulerMemberSchedSapProvider::SchedUlTriggerReq (const struct SchedUlTriggerReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoSchedUlTriggerReq (params);
|
||||
}
|
||||
|
||||
void
|
||||
PfSchedulerMemberSchedSapProvider::SchedUlNoiseInterferenceReq (const struct SchedUlNoiseInterferenceReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoSchedUlNoiseInterferenceReq (params);
|
||||
}
|
||||
|
||||
void
|
||||
PfSchedulerMemberSchedSapProvider::SchedUlSrInfoReq (const struct SchedUlSrInfoReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoSchedUlSrInfoReq (params);
|
||||
}
|
||||
|
||||
void
|
||||
PfSchedulerMemberSchedSapProvider::SchedUlMacCtrlInfoReq (const struct SchedUlMacCtrlInfoReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoSchedUlMacCtrlInfoReq (params);
|
||||
}
|
||||
|
||||
void
|
||||
PfSchedulerMemberSchedSapProvider::SchedUlCqiInfoReq (const struct SchedUlCqiInfoReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoSchedUlCqiInfoReq (params);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
PfFfMacScheduler::PfFfMacScheduler ()
|
||||
: m_cschedSapUser (0),
|
||||
m_schedSapUser (0),
|
||||
@@ -220,8 +54,8 @@ PfFfMacScheduler::PfFfMacScheduler ()
|
||||
m_nextRntiUl (0)
|
||||
{
|
||||
m_amc = CreateObject <LteAmc> ();
|
||||
m_cschedSapProvider = new PfSchedulerMemberCschedSapProvider (this);
|
||||
m_schedSapProvider = new PfSchedulerMemberSchedSapProvider (this);
|
||||
m_cschedSapProvider = new MemberCschedSapProvider<PfFfMacScheduler> (this);
|
||||
m_schedSapProvider = new MemberSchedSapProvider<PfFfMacScheduler> (this);
|
||||
m_ffrSapProvider = 0;
|
||||
m_ffrSapUser = new MemberLteFfrSapUser<PfFfMacScheduler> (this);
|
||||
}
|
||||
|
||||
@@ -97,8 +97,8 @@ public:
|
||||
virtual void SetLteFfrSapProvider (LteFfrSapProvider* s);
|
||||
virtual LteFfrSapUser* GetLteFfrSapUser ();
|
||||
|
||||
friend class PfSchedulerMemberCschedSapProvider;
|
||||
friend class PfSchedulerMemberSchedSapProvider;
|
||||
friend class MemberCschedSapProvider<PfFfMacScheduler>;
|
||||
friend class MemberSchedSapProvider<PfFfMacScheduler>;
|
||||
|
||||
void TransmissionModeConfigurationUpdate (uint16_t rnti, uint8_t txMode);
|
||||
|
||||
|
||||
@@ -50,172 +50,6 @@ NS_OBJECT_ENSURE_REGISTERED (PssFfMacScheduler);
|
||||
|
||||
|
||||
|
||||
class PssSchedulerMemberCschedSapProvider : public FfMacCschedSapProvider
|
||||
{
|
||||
public:
|
||||
PssSchedulerMemberCschedSapProvider (PssFfMacScheduler* scheduler);
|
||||
|
||||
// inherited from FfMacCschedSapProvider
|
||||
virtual void CschedCellConfigReq (const struct CschedCellConfigReqParameters& params);
|
||||
virtual void CschedUeConfigReq (const struct CschedUeConfigReqParameters& params);
|
||||
virtual void CschedLcConfigReq (const struct CschedLcConfigReqParameters& params);
|
||||
virtual void CschedLcReleaseReq (const struct CschedLcReleaseReqParameters& params);
|
||||
virtual void CschedUeReleaseReq (const struct CschedUeReleaseReqParameters& params);
|
||||
|
||||
private:
|
||||
PssSchedulerMemberCschedSapProvider ();
|
||||
PssFfMacScheduler* m_scheduler;
|
||||
};
|
||||
|
||||
PssSchedulerMemberCschedSapProvider::PssSchedulerMemberCschedSapProvider ()
|
||||
{
|
||||
}
|
||||
|
||||
PssSchedulerMemberCschedSapProvider::PssSchedulerMemberCschedSapProvider (PssFfMacScheduler* scheduler) : m_scheduler (scheduler)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
PssSchedulerMemberCschedSapProvider::CschedCellConfigReq (const struct CschedCellConfigReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoCschedCellConfigReq (params);
|
||||
}
|
||||
|
||||
void
|
||||
PssSchedulerMemberCschedSapProvider::CschedUeConfigReq (const struct CschedUeConfigReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoCschedUeConfigReq (params);
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
PssSchedulerMemberCschedSapProvider::CschedLcConfigReq (const struct CschedLcConfigReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoCschedLcConfigReq (params);
|
||||
}
|
||||
|
||||
void
|
||||
PssSchedulerMemberCschedSapProvider::CschedLcReleaseReq (const struct CschedLcReleaseReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoCschedLcReleaseReq (params);
|
||||
}
|
||||
|
||||
void
|
||||
PssSchedulerMemberCschedSapProvider::CschedUeReleaseReq (const struct CschedUeReleaseReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoCschedUeReleaseReq (params);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
class PssSchedulerMemberSchedSapProvider : public FfMacSchedSapProvider
|
||||
{
|
||||
public:
|
||||
PssSchedulerMemberSchedSapProvider (PssFfMacScheduler* scheduler);
|
||||
|
||||
// inherited from FfMacSchedSapProvider
|
||||
virtual void SchedDlRlcBufferReq (const struct SchedDlRlcBufferReqParameters& params);
|
||||
virtual void SchedDlPagingBufferReq (const struct SchedDlPagingBufferReqParameters& params);
|
||||
virtual void SchedDlMacBufferReq (const struct SchedDlMacBufferReqParameters& params);
|
||||
virtual void SchedDlTriggerReq (const struct SchedDlTriggerReqParameters& params);
|
||||
virtual void SchedDlRachInfoReq (const struct SchedDlRachInfoReqParameters& params);
|
||||
virtual void SchedDlCqiInfoReq (const struct SchedDlCqiInfoReqParameters& params);
|
||||
virtual void SchedUlTriggerReq (const struct SchedUlTriggerReqParameters& params);
|
||||
virtual void SchedUlNoiseInterferenceReq (const struct SchedUlNoiseInterferenceReqParameters& params);
|
||||
virtual void SchedUlSrInfoReq (const struct SchedUlSrInfoReqParameters& params);
|
||||
virtual void SchedUlMacCtrlInfoReq (const struct SchedUlMacCtrlInfoReqParameters& params);
|
||||
virtual void SchedUlCqiInfoReq (const struct SchedUlCqiInfoReqParameters& params);
|
||||
|
||||
|
||||
private:
|
||||
PssSchedulerMemberSchedSapProvider ();
|
||||
PssFfMacScheduler* m_scheduler;
|
||||
};
|
||||
|
||||
|
||||
|
||||
PssSchedulerMemberSchedSapProvider::PssSchedulerMemberSchedSapProvider ()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
PssSchedulerMemberSchedSapProvider::PssSchedulerMemberSchedSapProvider (PssFfMacScheduler* scheduler)
|
||||
: m_scheduler (scheduler)
|
||||
{
|
||||
}
|
||||
|
||||
void
|
||||
PssSchedulerMemberSchedSapProvider::SchedDlRlcBufferReq (const struct SchedDlRlcBufferReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoSchedDlRlcBufferReq (params);
|
||||
}
|
||||
|
||||
void
|
||||
PssSchedulerMemberSchedSapProvider::SchedDlPagingBufferReq (const struct SchedDlPagingBufferReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoSchedDlPagingBufferReq (params);
|
||||
}
|
||||
|
||||
void
|
||||
PssSchedulerMemberSchedSapProvider::SchedDlMacBufferReq (const struct SchedDlMacBufferReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoSchedDlMacBufferReq (params);
|
||||
}
|
||||
|
||||
void
|
||||
PssSchedulerMemberSchedSapProvider::SchedDlTriggerReq (const struct SchedDlTriggerReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoSchedDlTriggerReq (params);
|
||||
}
|
||||
|
||||
void
|
||||
PssSchedulerMemberSchedSapProvider::SchedDlRachInfoReq (const struct SchedDlRachInfoReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoSchedDlRachInfoReq (params);
|
||||
}
|
||||
|
||||
void
|
||||
PssSchedulerMemberSchedSapProvider::SchedDlCqiInfoReq (const struct SchedDlCqiInfoReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoSchedDlCqiInfoReq (params);
|
||||
}
|
||||
|
||||
void
|
||||
PssSchedulerMemberSchedSapProvider::SchedUlTriggerReq (const struct SchedUlTriggerReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoSchedUlTriggerReq (params);
|
||||
}
|
||||
|
||||
void
|
||||
PssSchedulerMemberSchedSapProvider::SchedUlNoiseInterferenceReq (const struct SchedUlNoiseInterferenceReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoSchedUlNoiseInterferenceReq (params);
|
||||
}
|
||||
|
||||
void
|
||||
PssSchedulerMemberSchedSapProvider::SchedUlSrInfoReq (const struct SchedUlSrInfoReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoSchedUlSrInfoReq (params);
|
||||
}
|
||||
|
||||
void
|
||||
PssSchedulerMemberSchedSapProvider::SchedUlMacCtrlInfoReq (const struct SchedUlMacCtrlInfoReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoSchedUlMacCtrlInfoReq (params);
|
||||
}
|
||||
|
||||
void
|
||||
PssSchedulerMemberSchedSapProvider::SchedUlCqiInfoReq (const struct SchedUlCqiInfoReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoSchedUlCqiInfoReq (params);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
PssFfMacScheduler::PssFfMacScheduler ()
|
||||
: m_cschedSapUser (0),
|
||||
m_schedSapUser (0),
|
||||
@@ -223,8 +57,8 @@ PssFfMacScheduler::PssFfMacScheduler ()
|
||||
m_nextRntiUl (0)
|
||||
{
|
||||
m_amc = CreateObject <LteAmc> ();
|
||||
m_cschedSapProvider = new PssSchedulerMemberCschedSapProvider (this);
|
||||
m_schedSapProvider = new PssSchedulerMemberSchedSapProvider (this);
|
||||
m_cschedSapProvider = new MemberCschedSapProvider<PssFfMacScheduler> (this);
|
||||
m_schedSapProvider = new MemberSchedSapProvider<PssFfMacScheduler> (this);
|
||||
m_ffrSapProvider = 0;
|
||||
m_ffrSapUser = new MemberLteFfrSapUser<PssFfMacScheduler> (this);
|
||||
}
|
||||
|
||||
@@ -106,8 +106,8 @@ public:
|
||||
virtual void SetLteFfrSapProvider (LteFfrSapProvider* s);
|
||||
virtual LteFfrSapUser* GetLteFfrSapUser ();
|
||||
|
||||
friend class PssSchedulerMemberCschedSapProvider;
|
||||
friend class PssSchedulerMemberSchedSapProvider;
|
||||
friend class MemberCschedSapProvider<PssFfMacScheduler>;
|
||||
friend class MemberSchedSapProvider<PssFfMacScheduler>;
|
||||
|
||||
void TransmissionModeConfigurationUpdate (uint16_t rnti, uint8_t txMode);
|
||||
|
||||
|
||||
@@ -49,172 +49,6 @@ static const int Type0AllocationRbg[4] = {
|
||||
NS_OBJECT_ENSURE_REGISTERED (RrFfMacScheduler);
|
||||
|
||||
|
||||
class RrSchedulerMemberCschedSapProvider : public FfMacCschedSapProvider
|
||||
{
|
||||
public:
|
||||
RrSchedulerMemberCschedSapProvider (RrFfMacScheduler* scheduler);
|
||||
|
||||
// inherited from FfMacCschedSapProvider
|
||||
virtual void CschedCellConfigReq (const struct CschedCellConfigReqParameters& params);
|
||||
virtual void CschedUeConfigReq (const struct CschedUeConfigReqParameters& params);
|
||||
virtual void CschedLcConfigReq (const struct CschedLcConfigReqParameters& params);
|
||||
virtual void CschedLcReleaseReq (const struct CschedLcReleaseReqParameters& params);
|
||||
virtual void CschedUeReleaseReq (const struct CschedUeReleaseReqParameters& params);
|
||||
|
||||
private:
|
||||
RrSchedulerMemberCschedSapProvider ();
|
||||
RrFfMacScheduler* m_scheduler;
|
||||
};
|
||||
|
||||
RrSchedulerMemberCschedSapProvider::RrSchedulerMemberCschedSapProvider ()
|
||||
{
|
||||
}
|
||||
|
||||
RrSchedulerMemberCschedSapProvider::RrSchedulerMemberCschedSapProvider (RrFfMacScheduler* scheduler) : m_scheduler (scheduler)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
RrSchedulerMemberCschedSapProvider::CschedCellConfigReq (const struct CschedCellConfigReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoCschedCellConfigReq (params);
|
||||
}
|
||||
|
||||
void
|
||||
RrSchedulerMemberCschedSapProvider::CschedUeConfigReq (const struct CschedUeConfigReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoCschedUeConfigReq (params);
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
RrSchedulerMemberCschedSapProvider::CschedLcConfigReq (const struct CschedLcConfigReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoCschedLcConfigReq (params);
|
||||
}
|
||||
|
||||
void
|
||||
RrSchedulerMemberCschedSapProvider::CschedLcReleaseReq (const struct CschedLcReleaseReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoCschedLcReleaseReq (params);
|
||||
}
|
||||
|
||||
void
|
||||
RrSchedulerMemberCschedSapProvider::CschedUeReleaseReq (const struct CschedUeReleaseReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoCschedUeReleaseReq (params);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
class RrSchedulerMemberSchedSapProvider : public FfMacSchedSapProvider
|
||||
{
|
||||
public:
|
||||
RrSchedulerMemberSchedSapProvider (RrFfMacScheduler* scheduler);
|
||||
|
||||
// inherited from FfMacSchedSapProvider
|
||||
virtual void SchedDlRlcBufferReq (const struct SchedDlRlcBufferReqParameters& params);
|
||||
virtual void SchedDlPagingBufferReq (const struct SchedDlPagingBufferReqParameters& params);
|
||||
virtual void SchedDlMacBufferReq (const struct SchedDlMacBufferReqParameters& params);
|
||||
virtual void SchedDlTriggerReq (const struct SchedDlTriggerReqParameters& params);
|
||||
virtual void SchedDlRachInfoReq (const struct SchedDlRachInfoReqParameters& params);
|
||||
virtual void SchedDlCqiInfoReq (const struct SchedDlCqiInfoReqParameters& params);
|
||||
virtual void SchedUlTriggerReq (const struct SchedUlTriggerReqParameters& params);
|
||||
virtual void SchedUlNoiseInterferenceReq (const struct SchedUlNoiseInterferenceReqParameters& params);
|
||||
virtual void SchedUlSrInfoReq (const struct SchedUlSrInfoReqParameters& params);
|
||||
virtual void SchedUlMacCtrlInfoReq (const struct SchedUlMacCtrlInfoReqParameters& params);
|
||||
virtual void SchedUlCqiInfoReq (const struct SchedUlCqiInfoReqParameters& params);
|
||||
|
||||
|
||||
private:
|
||||
RrSchedulerMemberSchedSapProvider ();
|
||||
RrFfMacScheduler* m_scheduler;
|
||||
};
|
||||
|
||||
|
||||
|
||||
RrSchedulerMemberSchedSapProvider::RrSchedulerMemberSchedSapProvider ()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
RrSchedulerMemberSchedSapProvider::RrSchedulerMemberSchedSapProvider (RrFfMacScheduler* scheduler)
|
||||
: m_scheduler (scheduler)
|
||||
{
|
||||
}
|
||||
|
||||
void
|
||||
RrSchedulerMemberSchedSapProvider::SchedDlRlcBufferReq (const struct SchedDlRlcBufferReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoSchedDlRlcBufferReq (params);
|
||||
}
|
||||
|
||||
void
|
||||
RrSchedulerMemberSchedSapProvider::SchedDlPagingBufferReq (const struct SchedDlPagingBufferReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoSchedDlPagingBufferReq (params);
|
||||
}
|
||||
|
||||
void
|
||||
RrSchedulerMemberSchedSapProvider::SchedDlMacBufferReq (const struct SchedDlMacBufferReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoSchedDlMacBufferReq (params);
|
||||
}
|
||||
|
||||
void
|
||||
RrSchedulerMemberSchedSapProvider::SchedDlTriggerReq (const struct SchedDlTriggerReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoSchedDlTriggerReq (params);
|
||||
}
|
||||
|
||||
void
|
||||
RrSchedulerMemberSchedSapProvider::SchedDlRachInfoReq (const struct SchedDlRachInfoReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoSchedDlRachInfoReq (params);
|
||||
}
|
||||
|
||||
void
|
||||
RrSchedulerMemberSchedSapProvider::SchedDlCqiInfoReq (const struct SchedDlCqiInfoReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoSchedDlCqiInfoReq (params);
|
||||
}
|
||||
|
||||
void
|
||||
RrSchedulerMemberSchedSapProvider::SchedUlTriggerReq (const struct SchedUlTriggerReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoSchedUlTriggerReq (params);
|
||||
}
|
||||
|
||||
void
|
||||
RrSchedulerMemberSchedSapProvider::SchedUlNoiseInterferenceReq (const struct SchedUlNoiseInterferenceReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoSchedUlNoiseInterferenceReq (params);
|
||||
}
|
||||
|
||||
void
|
||||
RrSchedulerMemberSchedSapProvider::SchedUlSrInfoReq (const struct SchedUlSrInfoReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoSchedUlSrInfoReq (params);
|
||||
}
|
||||
|
||||
void
|
||||
RrSchedulerMemberSchedSapProvider::SchedUlMacCtrlInfoReq (const struct SchedUlMacCtrlInfoReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoSchedUlMacCtrlInfoReq (params);
|
||||
}
|
||||
|
||||
void
|
||||
RrSchedulerMemberSchedSapProvider::SchedUlCqiInfoReq (const struct SchedUlCqiInfoReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoSchedUlCqiInfoReq (params);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
RrFfMacScheduler::RrFfMacScheduler ()
|
||||
: m_cschedSapUser (0),
|
||||
m_schedSapUser (0),
|
||||
@@ -222,8 +56,8 @@ RrFfMacScheduler::RrFfMacScheduler ()
|
||||
m_nextRntiUl (0)
|
||||
{
|
||||
m_amc = CreateObject <LteAmc> ();
|
||||
m_cschedSapProvider = new RrSchedulerMemberCschedSapProvider (this);
|
||||
m_schedSapProvider = new RrSchedulerMemberSchedSapProvider (this);
|
||||
m_cschedSapProvider = new MemberCschedSapProvider<RrFfMacScheduler> (this);
|
||||
m_schedSapProvider = new MemberSchedSapProvider<RrFfMacScheduler> (this);
|
||||
}
|
||||
|
||||
RrFfMacScheduler::~RrFfMacScheduler ()
|
||||
|
||||
@@ -85,8 +85,8 @@ public:
|
||||
virtual void SetLteFfrSapProvider (LteFfrSapProvider* s);
|
||||
virtual LteFfrSapUser* GetLteFfrSapUser ();
|
||||
|
||||
friend class RrSchedulerMemberCschedSapProvider;
|
||||
friend class RrSchedulerMemberSchedSapProvider;
|
||||
friend class MemberCschedSapProvider<RrFfMacScheduler>;
|
||||
friend class MemberSchedSapProvider<RrFfMacScheduler>;
|
||||
|
||||
void TransmissionModeConfigurationUpdate (uint16_t rnti, uint8_t txMode);
|
||||
|
||||
|
||||
@@ -47,172 +47,6 @@ NS_OBJECT_ENSURE_REGISTERED (TdBetFfMacScheduler);
|
||||
|
||||
|
||||
|
||||
class TdBetSchedulerMemberCschedSapProvider : public FfMacCschedSapProvider
|
||||
{
|
||||
public:
|
||||
TdBetSchedulerMemberCschedSapProvider (TdBetFfMacScheduler* scheduler);
|
||||
|
||||
// inherited from FfMacCschedSapProvider
|
||||
virtual void CschedCellConfigReq (const struct CschedCellConfigReqParameters& params);
|
||||
virtual void CschedUeConfigReq (const struct CschedUeConfigReqParameters& params);
|
||||
virtual void CschedLcConfigReq (const struct CschedLcConfigReqParameters& params);
|
||||
virtual void CschedLcReleaseReq (const struct CschedLcReleaseReqParameters& params);
|
||||
virtual void CschedUeReleaseReq (const struct CschedUeReleaseReqParameters& params);
|
||||
|
||||
private:
|
||||
TdBetSchedulerMemberCschedSapProvider ();
|
||||
TdBetFfMacScheduler* m_scheduler;
|
||||
};
|
||||
|
||||
TdBetSchedulerMemberCschedSapProvider::TdBetSchedulerMemberCschedSapProvider ()
|
||||
{
|
||||
}
|
||||
|
||||
TdBetSchedulerMemberCschedSapProvider::TdBetSchedulerMemberCschedSapProvider (TdBetFfMacScheduler* scheduler) : m_scheduler (scheduler)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
TdBetSchedulerMemberCschedSapProvider::CschedCellConfigReq (const struct CschedCellConfigReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoCschedCellConfigReq (params);
|
||||
}
|
||||
|
||||
void
|
||||
TdBetSchedulerMemberCschedSapProvider::CschedUeConfigReq (const struct CschedUeConfigReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoCschedUeConfigReq (params);
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
TdBetSchedulerMemberCschedSapProvider::CschedLcConfigReq (const struct CschedLcConfigReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoCschedLcConfigReq (params);
|
||||
}
|
||||
|
||||
void
|
||||
TdBetSchedulerMemberCschedSapProvider::CschedLcReleaseReq (const struct CschedLcReleaseReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoCschedLcReleaseReq (params);
|
||||
}
|
||||
|
||||
void
|
||||
TdBetSchedulerMemberCschedSapProvider::CschedUeReleaseReq (const struct CschedUeReleaseReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoCschedUeReleaseReq (params);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
class TdBetSchedulerMemberSchedSapProvider : public FfMacSchedSapProvider
|
||||
{
|
||||
public:
|
||||
TdBetSchedulerMemberSchedSapProvider (TdBetFfMacScheduler* scheduler);
|
||||
|
||||
// inherited from FfMacSchedSapProvider
|
||||
virtual void SchedDlRlcBufferReq (const struct SchedDlRlcBufferReqParameters& params);
|
||||
virtual void SchedDlPagingBufferReq (const struct SchedDlPagingBufferReqParameters& params);
|
||||
virtual void SchedDlMacBufferReq (const struct SchedDlMacBufferReqParameters& params);
|
||||
virtual void SchedDlTriggerReq (const struct SchedDlTriggerReqParameters& params);
|
||||
virtual void SchedDlRachInfoReq (const struct SchedDlRachInfoReqParameters& params);
|
||||
virtual void SchedDlCqiInfoReq (const struct SchedDlCqiInfoReqParameters& params);
|
||||
virtual void SchedUlTriggerReq (const struct SchedUlTriggerReqParameters& params);
|
||||
virtual void SchedUlNoiseInterferenceReq (const struct SchedUlNoiseInterferenceReqParameters& params);
|
||||
virtual void SchedUlSrInfoReq (const struct SchedUlSrInfoReqParameters& params);
|
||||
virtual void SchedUlMacCtrlInfoReq (const struct SchedUlMacCtrlInfoReqParameters& params);
|
||||
virtual void SchedUlCqiInfoReq (const struct SchedUlCqiInfoReqParameters& params);
|
||||
|
||||
|
||||
private:
|
||||
TdBetSchedulerMemberSchedSapProvider ();
|
||||
TdBetFfMacScheduler* m_scheduler;
|
||||
};
|
||||
|
||||
|
||||
|
||||
TdBetSchedulerMemberSchedSapProvider::TdBetSchedulerMemberSchedSapProvider ()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
TdBetSchedulerMemberSchedSapProvider::TdBetSchedulerMemberSchedSapProvider (TdBetFfMacScheduler* scheduler)
|
||||
: m_scheduler (scheduler)
|
||||
{
|
||||
}
|
||||
|
||||
void
|
||||
TdBetSchedulerMemberSchedSapProvider::SchedDlRlcBufferReq (const struct SchedDlRlcBufferReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoSchedDlRlcBufferReq (params);
|
||||
}
|
||||
|
||||
void
|
||||
TdBetSchedulerMemberSchedSapProvider::SchedDlPagingBufferReq (const struct SchedDlPagingBufferReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoSchedDlPagingBufferReq (params);
|
||||
}
|
||||
|
||||
void
|
||||
TdBetSchedulerMemberSchedSapProvider::SchedDlMacBufferReq (const struct SchedDlMacBufferReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoSchedDlMacBufferReq (params);
|
||||
}
|
||||
|
||||
void
|
||||
TdBetSchedulerMemberSchedSapProvider::SchedDlTriggerReq (const struct SchedDlTriggerReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoSchedDlTriggerReq (params);
|
||||
}
|
||||
|
||||
void
|
||||
TdBetSchedulerMemberSchedSapProvider::SchedDlRachInfoReq (const struct SchedDlRachInfoReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoSchedDlRachInfoReq (params);
|
||||
}
|
||||
|
||||
void
|
||||
TdBetSchedulerMemberSchedSapProvider::SchedDlCqiInfoReq (const struct SchedDlCqiInfoReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoSchedDlCqiInfoReq (params);
|
||||
}
|
||||
|
||||
void
|
||||
TdBetSchedulerMemberSchedSapProvider::SchedUlTriggerReq (const struct SchedUlTriggerReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoSchedUlTriggerReq (params);
|
||||
}
|
||||
|
||||
void
|
||||
TdBetSchedulerMemberSchedSapProvider::SchedUlNoiseInterferenceReq (const struct SchedUlNoiseInterferenceReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoSchedUlNoiseInterferenceReq (params);
|
||||
}
|
||||
|
||||
void
|
||||
TdBetSchedulerMemberSchedSapProvider::SchedUlSrInfoReq (const struct SchedUlSrInfoReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoSchedUlSrInfoReq (params);
|
||||
}
|
||||
|
||||
void
|
||||
TdBetSchedulerMemberSchedSapProvider::SchedUlMacCtrlInfoReq (const struct SchedUlMacCtrlInfoReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoSchedUlMacCtrlInfoReq (params);
|
||||
}
|
||||
|
||||
void
|
||||
TdBetSchedulerMemberSchedSapProvider::SchedUlCqiInfoReq (const struct SchedUlCqiInfoReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoSchedUlCqiInfoReq (params);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
TdBetFfMacScheduler::TdBetFfMacScheduler ()
|
||||
: m_cschedSapUser (0),
|
||||
m_schedSapUser (0),
|
||||
@@ -220,8 +54,8 @@ TdBetFfMacScheduler::TdBetFfMacScheduler ()
|
||||
m_nextRntiUl (0)
|
||||
{
|
||||
m_amc = CreateObject <LteAmc> ();
|
||||
m_cschedSapProvider = new TdBetSchedulerMemberCschedSapProvider (this);
|
||||
m_schedSapProvider = new TdBetSchedulerMemberSchedSapProvider (this);
|
||||
m_cschedSapProvider = new MemberCschedSapProvider<TdBetFfMacScheduler> (this);
|
||||
m_schedSapProvider = new MemberSchedSapProvider<TdBetFfMacScheduler> (this);
|
||||
}
|
||||
|
||||
TdBetFfMacScheduler::~TdBetFfMacScheduler ()
|
||||
|
||||
@@ -98,8 +98,8 @@ public:
|
||||
virtual void SetLteFfrSapProvider (LteFfrSapProvider* s);
|
||||
virtual LteFfrSapUser* GetLteFfrSapUser ();
|
||||
|
||||
friend class TdBetSchedulerMemberCschedSapProvider;
|
||||
friend class TdBetSchedulerMemberSchedSapProvider;
|
||||
friend class MemberCschedSapProvider<TdBetFfMacScheduler>;
|
||||
friend class MemberSchedSapProvider<TdBetFfMacScheduler>;
|
||||
|
||||
void TransmissionModeConfigurationUpdate (uint16_t rnti, uint8_t txMode);
|
||||
|
||||
|
||||
@@ -47,180 +47,14 @@ NS_OBJECT_ENSURE_REGISTERED (TdMtFfMacScheduler);
|
||||
|
||||
|
||||
|
||||
class TdMtSchedulerMemberCschedSapProvider : public FfMacCschedSapProvider
|
||||
{
|
||||
public:
|
||||
TdMtSchedulerMemberCschedSapProvider (TdMtFfMacScheduler* scheduler);
|
||||
|
||||
// inherited from FfMacCschedSapProvider
|
||||
virtual void CschedCellConfigReq (const struct CschedCellConfigReqParameters& params);
|
||||
virtual void CschedUeConfigReq (const struct CschedUeConfigReqParameters& params);
|
||||
virtual void CschedLcConfigReq (const struct CschedLcConfigReqParameters& params);
|
||||
virtual void CschedLcReleaseReq (const struct CschedLcReleaseReqParameters& params);
|
||||
virtual void CschedUeReleaseReq (const struct CschedUeReleaseReqParameters& params);
|
||||
|
||||
private:
|
||||
TdMtSchedulerMemberCschedSapProvider ();
|
||||
TdMtFfMacScheduler* m_scheduler;
|
||||
};
|
||||
|
||||
TdMtSchedulerMemberCschedSapProvider::TdMtSchedulerMemberCschedSapProvider ()
|
||||
{
|
||||
}
|
||||
|
||||
TdMtSchedulerMemberCschedSapProvider::TdMtSchedulerMemberCschedSapProvider (TdMtFfMacScheduler* scheduler) : m_scheduler (scheduler)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
TdMtSchedulerMemberCschedSapProvider::CschedCellConfigReq (const struct CschedCellConfigReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoCschedCellConfigReq (params);
|
||||
}
|
||||
|
||||
void
|
||||
TdMtSchedulerMemberCschedSapProvider::CschedUeConfigReq (const struct CschedUeConfigReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoCschedUeConfigReq (params);
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
TdMtSchedulerMemberCschedSapProvider::CschedLcConfigReq (const struct CschedLcConfigReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoCschedLcConfigReq (params);
|
||||
}
|
||||
|
||||
void
|
||||
TdMtSchedulerMemberCschedSapProvider::CschedLcReleaseReq (const struct CschedLcReleaseReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoCschedLcReleaseReq (params);
|
||||
}
|
||||
|
||||
void
|
||||
TdMtSchedulerMemberCschedSapProvider::CschedUeReleaseReq (const struct CschedUeReleaseReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoCschedUeReleaseReq (params);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
class TdMtSchedulerMemberSchedSapProvider : public FfMacSchedSapProvider
|
||||
{
|
||||
public:
|
||||
TdMtSchedulerMemberSchedSapProvider (TdMtFfMacScheduler* scheduler);
|
||||
|
||||
// inherited from FfMacSchedSapProvider
|
||||
virtual void SchedDlRlcBufferReq (const struct SchedDlRlcBufferReqParameters& params);
|
||||
virtual void SchedDlPagingBufferReq (const struct SchedDlPagingBufferReqParameters& params);
|
||||
virtual void SchedDlMacBufferReq (const struct SchedDlMacBufferReqParameters& params);
|
||||
virtual void SchedDlTriggerReq (const struct SchedDlTriggerReqParameters& params);
|
||||
virtual void SchedDlRachInfoReq (const struct SchedDlRachInfoReqParameters& params);
|
||||
virtual void SchedDlCqiInfoReq (const struct SchedDlCqiInfoReqParameters& params);
|
||||
virtual void SchedUlTriggerReq (const struct SchedUlTriggerReqParameters& params);
|
||||
virtual void SchedUlNoiseInterferenceReq (const struct SchedUlNoiseInterferenceReqParameters& params);
|
||||
virtual void SchedUlSrInfoReq (const struct SchedUlSrInfoReqParameters& params);
|
||||
virtual void SchedUlMacCtrlInfoReq (const struct SchedUlMacCtrlInfoReqParameters& params);
|
||||
virtual void SchedUlCqiInfoReq (const struct SchedUlCqiInfoReqParameters& params);
|
||||
|
||||
|
||||
private:
|
||||
TdMtSchedulerMemberSchedSapProvider ();
|
||||
TdMtFfMacScheduler* m_scheduler;
|
||||
};
|
||||
|
||||
|
||||
|
||||
TdMtSchedulerMemberSchedSapProvider::TdMtSchedulerMemberSchedSapProvider ()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
TdMtSchedulerMemberSchedSapProvider::TdMtSchedulerMemberSchedSapProvider (TdMtFfMacScheduler* scheduler)
|
||||
: m_scheduler (scheduler)
|
||||
{
|
||||
}
|
||||
|
||||
void
|
||||
TdMtSchedulerMemberSchedSapProvider::SchedDlRlcBufferReq (const struct SchedDlRlcBufferReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoSchedDlRlcBufferReq (params);
|
||||
}
|
||||
|
||||
void
|
||||
TdMtSchedulerMemberSchedSapProvider::SchedDlPagingBufferReq (const struct SchedDlPagingBufferReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoSchedDlPagingBufferReq (params);
|
||||
}
|
||||
|
||||
void
|
||||
TdMtSchedulerMemberSchedSapProvider::SchedDlMacBufferReq (const struct SchedDlMacBufferReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoSchedDlMacBufferReq (params);
|
||||
}
|
||||
|
||||
void
|
||||
TdMtSchedulerMemberSchedSapProvider::SchedDlTriggerReq (const struct SchedDlTriggerReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoSchedDlTriggerReq (params);
|
||||
}
|
||||
|
||||
void
|
||||
TdMtSchedulerMemberSchedSapProvider::SchedDlRachInfoReq (const struct SchedDlRachInfoReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoSchedDlRachInfoReq (params);
|
||||
}
|
||||
|
||||
void
|
||||
TdMtSchedulerMemberSchedSapProvider::SchedDlCqiInfoReq (const struct SchedDlCqiInfoReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoSchedDlCqiInfoReq (params);
|
||||
}
|
||||
|
||||
void
|
||||
TdMtSchedulerMemberSchedSapProvider::SchedUlTriggerReq (const struct SchedUlTriggerReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoSchedUlTriggerReq (params);
|
||||
}
|
||||
|
||||
void
|
||||
TdMtSchedulerMemberSchedSapProvider::SchedUlNoiseInterferenceReq (const struct SchedUlNoiseInterferenceReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoSchedUlNoiseInterferenceReq (params);
|
||||
}
|
||||
|
||||
void
|
||||
TdMtSchedulerMemberSchedSapProvider::SchedUlSrInfoReq (const struct SchedUlSrInfoReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoSchedUlSrInfoReq (params);
|
||||
}
|
||||
|
||||
void
|
||||
TdMtSchedulerMemberSchedSapProvider::SchedUlMacCtrlInfoReq (const struct SchedUlMacCtrlInfoReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoSchedUlMacCtrlInfoReq (params);
|
||||
}
|
||||
|
||||
void
|
||||
TdMtSchedulerMemberSchedSapProvider::SchedUlCqiInfoReq (const struct SchedUlCqiInfoReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoSchedUlCqiInfoReq (params);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
TdMtFfMacScheduler::TdMtFfMacScheduler ()
|
||||
: m_cschedSapUser (0),
|
||||
m_schedSapUser (0),
|
||||
m_nextRntiUl (0)
|
||||
{
|
||||
m_amc = CreateObject <LteAmc> ();
|
||||
m_cschedSapProvider = new TdMtSchedulerMemberCschedSapProvider (this);
|
||||
m_schedSapProvider = new TdMtSchedulerMemberSchedSapProvider (this);
|
||||
m_cschedSapProvider = new MemberCschedSapProvider<TdMtFfMacScheduler> (this);
|
||||
m_schedSapProvider = new MemberSchedSapProvider<TdMtFfMacScheduler> (this);
|
||||
}
|
||||
|
||||
TdMtFfMacScheduler::~TdMtFfMacScheduler ()
|
||||
|
||||
@@ -90,8 +90,8 @@ public:
|
||||
virtual void SetLteFfrSapProvider (LteFfrSapProvider* s);
|
||||
virtual LteFfrSapUser* GetLteFfrSapUser ();
|
||||
|
||||
friend class TdMtSchedulerMemberCschedSapProvider;
|
||||
friend class TdMtSchedulerMemberSchedSapProvider;
|
||||
friend class MemberCschedSapProvider<TdMtFfMacScheduler>;
|
||||
friend class MemberSchedSapProvider<TdMtFfMacScheduler>;
|
||||
|
||||
void TransmissionModeConfigurationUpdate (uint16_t rnti, uint8_t txMode);
|
||||
|
||||
|
||||
@@ -48,172 +48,6 @@ NS_OBJECT_ENSURE_REGISTERED (TdTbfqFfMacScheduler);
|
||||
|
||||
|
||||
|
||||
class TdTbfqSchedulerMemberCschedSapProvider : public FfMacCschedSapProvider
|
||||
{
|
||||
public:
|
||||
TdTbfqSchedulerMemberCschedSapProvider (TdTbfqFfMacScheduler* scheduler);
|
||||
|
||||
// inherited from FfMacCschedSapProvider
|
||||
virtual void CschedCellConfigReq (const struct CschedCellConfigReqParameters& params);
|
||||
virtual void CschedUeConfigReq (const struct CschedUeConfigReqParameters& params);
|
||||
virtual void CschedLcConfigReq (const struct CschedLcConfigReqParameters& params);
|
||||
virtual void CschedLcReleaseReq (const struct CschedLcReleaseReqParameters& params);
|
||||
virtual void CschedUeReleaseReq (const struct CschedUeReleaseReqParameters& params);
|
||||
|
||||
private:
|
||||
TdTbfqSchedulerMemberCschedSapProvider ();
|
||||
TdTbfqFfMacScheduler* m_scheduler;
|
||||
};
|
||||
|
||||
TdTbfqSchedulerMemberCschedSapProvider::TdTbfqSchedulerMemberCschedSapProvider ()
|
||||
{
|
||||
}
|
||||
|
||||
TdTbfqSchedulerMemberCschedSapProvider::TdTbfqSchedulerMemberCschedSapProvider (TdTbfqFfMacScheduler* scheduler) : m_scheduler (scheduler)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
TdTbfqSchedulerMemberCschedSapProvider::CschedCellConfigReq (const struct CschedCellConfigReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoCschedCellConfigReq (params);
|
||||
}
|
||||
|
||||
void
|
||||
TdTbfqSchedulerMemberCschedSapProvider::CschedUeConfigReq (const struct CschedUeConfigReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoCschedUeConfigReq (params);
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
TdTbfqSchedulerMemberCschedSapProvider::CschedLcConfigReq (const struct CschedLcConfigReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoCschedLcConfigReq (params);
|
||||
}
|
||||
|
||||
void
|
||||
TdTbfqSchedulerMemberCschedSapProvider::CschedLcReleaseReq (const struct CschedLcReleaseReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoCschedLcReleaseReq (params);
|
||||
}
|
||||
|
||||
void
|
||||
TdTbfqSchedulerMemberCschedSapProvider::CschedUeReleaseReq (const struct CschedUeReleaseReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoCschedUeReleaseReq (params);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
class TdTbfqSchedulerMemberSchedSapProvider : public FfMacSchedSapProvider
|
||||
{
|
||||
public:
|
||||
TdTbfqSchedulerMemberSchedSapProvider (TdTbfqFfMacScheduler* scheduler);
|
||||
|
||||
// inherited from FfMacSchedSapProvider
|
||||
virtual void SchedDlRlcBufferReq (const struct SchedDlRlcBufferReqParameters& params);
|
||||
virtual void SchedDlPagingBufferReq (const struct SchedDlPagingBufferReqParameters& params);
|
||||
virtual void SchedDlMacBufferReq (const struct SchedDlMacBufferReqParameters& params);
|
||||
virtual void SchedDlTriggerReq (const struct SchedDlTriggerReqParameters& params);
|
||||
virtual void SchedDlRachInfoReq (const struct SchedDlRachInfoReqParameters& params);
|
||||
virtual void SchedDlCqiInfoReq (const struct SchedDlCqiInfoReqParameters& params);
|
||||
virtual void SchedUlTriggerReq (const struct SchedUlTriggerReqParameters& params);
|
||||
virtual void SchedUlNoiseInterferenceReq (const struct SchedUlNoiseInterferenceReqParameters& params);
|
||||
virtual void SchedUlSrInfoReq (const struct SchedUlSrInfoReqParameters& params);
|
||||
virtual void SchedUlMacCtrlInfoReq (const struct SchedUlMacCtrlInfoReqParameters& params);
|
||||
virtual void SchedUlCqiInfoReq (const struct SchedUlCqiInfoReqParameters& params);
|
||||
|
||||
|
||||
private:
|
||||
TdTbfqSchedulerMemberSchedSapProvider ();
|
||||
TdTbfqFfMacScheduler* m_scheduler;
|
||||
};
|
||||
|
||||
|
||||
|
||||
TdTbfqSchedulerMemberSchedSapProvider::TdTbfqSchedulerMemberSchedSapProvider ()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
TdTbfqSchedulerMemberSchedSapProvider::TdTbfqSchedulerMemberSchedSapProvider (TdTbfqFfMacScheduler* scheduler)
|
||||
: m_scheduler (scheduler)
|
||||
{
|
||||
}
|
||||
|
||||
void
|
||||
TdTbfqSchedulerMemberSchedSapProvider::SchedDlRlcBufferReq (const struct SchedDlRlcBufferReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoSchedDlRlcBufferReq (params);
|
||||
}
|
||||
|
||||
void
|
||||
TdTbfqSchedulerMemberSchedSapProvider::SchedDlPagingBufferReq (const struct SchedDlPagingBufferReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoSchedDlPagingBufferReq (params);
|
||||
}
|
||||
|
||||
void
|
||||
TdTbfqSchedulerMemberSchedSapProvider::SchedDlMacBufferReq (const struct SchedDlMacBufferReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoSchedDlMacBufferReq (params);
|
||||
}
|
||||
|
||||
void
|
||||
TdTbfqSchedulerMemberSchedSapProvider::SchedDlTriggerReq (const struct SchedDlTriggerReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoSchedDlTriggerReq (params);
|
||||
}
|
||||
|
||||
void
|
||||
TdTbfqSchedulerMemberSchedSapProvider::SchedDlRachInfoReq (const struct SchedDlRachInfoReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoSchedDlRachInfoReq (params);
|
||||
}
|
||||
|
||||
void
|
||||
TdTbfqSchedulerMemberSchedSapProvider::SchedDlCqiInfoReq (const struct SchedDlCqiInfoReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoSchedDlCqiInfoReq (params);
|
||||
}
|
||||
|
||||
void
|
||||
TdTbfqSchedulerMemberSchedSapProvider::SchedUlTriggerReq (const struct SchedUlTriggerReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoSchedUlTriggerReq (params);
|
||||
}
|
||||
|
||||
void
|
||||
TdTbfqSchedulerMemberSchedSapProvider::SchedUlNoiseInterferenceReq (const struct SchedUlNoiseInterferenceReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoSchedUlNoiseInterferenceReq (params);
|
||||
}
|
||||
|
||||
void
|
||||
TdTbfqSchedulerMemberSchedSapProvider::SchedUlSrInfoReq (const struct SchedUlSrInfoReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoSchedUlSrInfoReq (params);
|
||||
}
|
||||
|
||||
void
|
||||
TdTbfqSchedulerMemberSchedSapProvider::SchedUlMacCtrlInfoReq (const struct SchedUlMacCtrlInfoReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoSchedUlMacCtrlInfoReq (params);
|
||||
}
|
||||
|
||||
void
|
||||
TdTbfqSchedulerMemberSchedSapProvider::SchedUlCqiInfoReq (const struct SchedUlCqiInfoReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoSchedUlCqiInfoReq (params);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
TdTbfqFfMacScheduler::TdTbfqFfMacScheduler ()
|
||||
: m_cschedSapUser (0),
|
||||
m_schedSapUser (0),
|
||||
@@ -221,8 +55,8 @@ TdTbfqFfMacScheduler::TdTbfqFfMacScheduler ()
|
||||
bankSize (0)
|
||||
{
|
||||
m_amc = CreateObject <LteAmc> ();
|
||||
m_cschedSapProvider = new TdTbfqSchedulerMemberCschedSapProvider (this);
|
||||
m_schedSapProvider = new TdTbfqSchedulerMemberSchedSapProvider (this);
|
||||
m_cschedSapProvider = new MemberCschedSapProvider<TdTbfqFfMacScheduler> (this);
|
||||
m_schedSapProvider = new MemberSchedSapProvider<TdTbfqFfMacScheduler> (this);
|
||||
m_ffrSapProvider = 0;
|
||||
m_ffrSapUser = new MemberLteFfrSapUser<TdTbfqFfMacScheduler> (this);
|
||||
}
|
||||
|
||||
@@ -105,8 +105,8 @@ public:
|
||||
virtual void SetLteFfrSapProvider (LteFfrSapProvider* s);
|
||||
virtual LteFfrSapUser* GetLteFfrSapUser ();
|
||||
|
||||
friend class TdTbfqSchedulerMemberCschedSapProvider;
|
||||
friend class TdTbfqSchedulerMemberSchedSapProvider;
|
||||
friend class MemberCschedSapProvider<TdTbfqFfMacScheduler>;
|
||||
friend class MemberSchedSapProvider<TdTbfqFfMacScheduler>;
|
||||
|
||||
void TransmissionModeConfigurationUpdate (uint16_t rnti, uint8_t txMode);
|
||||
|
||||
|
||||
@@ -47,180 +47,14 @@ NS_OBJECT_ENSURE_REGISTERED (TtaFfMacScheduler);
|
||||
|
||||
|
||||
|
||||
class TtaSchedulerMemberCschedSapProvider : public FfMacCschedSapProvider
|
||||
{
|
||||
public:
|
||||
TtaSchedulerMemberCschedSapProvider (TtaFfMacScheduler* scheduler);
|
||||
|
||||
// inherited from FfMacCschedSapProvider
|
||||
virtual void CschedCellConfigReq (const struct CschedCellConfigReqParameters& params);
|
||||
virtual void CschedUeConfigReq (const struct CschedUeConfigReqParameters& params);
|
||||
virtual void CschedLcConfigReq (const struct CschedLcConfigReqParameters& params);
|
||||
virtual void CschedLcReleaseReq (const struct CschedLcReleaseReqParameters& params);
|
||||
virtual void CschedUeReleaseReq (const struct CschedUeReleaseReqParameters& params);
|
||||
|
||||
private:
|
||||
TtaSchedulerMemberCschedSapProvider ();
|
||||
TtaFfMacScheduler* m_scheduler;
|
||||
};
|
||||
|
||||
TtaSchedulerMemberCschedSapProvider::TtaSchedulerMemberCschedSapProvider ()
|
||||
{
|
||||
}
|
||||
|
||||
TtaSchedulerMemberCschedSapProvider::TtaSchedulerMemberCschedSapProvider (TtaFfMacScheduler* scheduler) : m_scheduler (scheduler)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
TtaSchedulerMemberCschedSapProvider::CschedCellConfigReq (const struct CschedCellConfigReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoCschedCellConfigReq (params);
|
||||
}
|
||||
|
||||
void
|
||||
TtaSchedulerMemberCschedSapProvider::CschedUeConfigReq (const struct CschedUeConfigReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoCschedUeConfigReq (params);
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
TtaSchedulerMemberCschedSapProvider::CschedLcConfigReq (const struct CschedLcConfigReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoCschedLcConfigReq (params);
|
||||
}
|
||||
|
||||
void
|
||||
TtaSchedulerMemberCschedSapProvider::CschedLcReleaseReq (const struct CschedLcReleaseReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoCschedLcReleaseReq (params);
|
||||
}
|
||||
|
||||
void
|
||||
TtaSchedulerMemberCschedSapProvider::CschedUeReleaseReq (const struct CschedUeReleaseReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoCschedUeReleaseReq (params);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
class TtaSchedulerMemberSchedSapProvider : public FfMacSchedSapProvider
|
||||
{
|
||||
public:
|
||||
TtaSchedulerMemberSchedSapProvider (TtaFfMacScheduler* scheduler);
|
||||
|
||||
// inherited from FfMacSchedSapProvider
|
||||
virtual void SchedDlRlcBufferReq (const struct SchedDlRlcBufferReqParameters& params);
|
||||
virtual void SchedDlPagingBufferReq (const struct SchedDlPagingBufferReqParameters& params);
|
||||
virtual void SchedDlMacBufferReq (const struct SchedDlMacBufferReqParameters& params);
|
||||
virtual void SchedDlTriggerReq (const struct SchedDlTriggerReqParameters& params);
|
||||
virtual void SchedDlRachInfoReq (const struct SchedDlRachInfoReqParameters& params);
|
||||
virtual void SchedDlCqiInfoReq (const struct SchedDlCqiInfoReqParameters& params);
|
||||
virtual void SchedUlTriggerReq (const struct SchedUlTriggerReqParameters& params);
|
||||
virtual void SchedUlNoiseInterferenceReq (const struct SchedUlNoiseInterferenceReqParameters& params);
|
||||
virtual void SchedUlSrInfoReq (const struct SchedUlSrInfoReqParameters& params);
|
||||
virtual void SchedUlMacCtrlInfoReq (const struct SchedUlMacCtrlInfoReqParameters& params);
|
||||
virtual void SchedUlCqiInfoReq (const struct SchedUlCqiInfoReqParameters& params);
|
||||
|
||||
|
||||
private:
|
||||
TtaSchedulerMemberSchedSapProvider ();
|
||||
TtaFfMacScheduler* m_scheduler;
|
||||
};
|
||||
|
||||
|
||||
|
||||
TtaSchedulerMemberSchedSapProvider::TtaSchedulerMemberSchedSapProvider ()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
TtaSchedulerMemberSchedSapProvider::TtaSchedulerMemberSchedSapProvider (TtaFfMacScheduler* scheduler)
|
||||
: m_scheduler (scheduler)
|
||||
{
|
||||
}
|
||||
|
||||
void
|
||||
TtaSchedulerMemberSchedSapProvider::SchedDlRlcBufferReq (const struct SchedDlRlcBufferReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoSchedDlRlcBufferReq (params);
|
||||
}
|
||||
|
||||
void
|
||||
TtaSchedulerMemberSchedSapProvider::SchedDlPagingBufferReq (const struct SchedDlPagingBufferReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoSchedDlPagingBufferReq (params);
|
||||
}
|
||||
|
||||
void
|
||||
TtaSchedulerMemberSchedSapProvider::SchedDlMacBufferReq (const struct SchedDlMacBufferReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoSchedDlMacBufferReq (params);
|
||||
}
|
||||
|
||||
void
|
||||
TtaSchedulerMemberSchedSapProvider::SchedDlTriggerReq (const struct SchedDlTriggerReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoSchedDlTriggerReq (params);
|
||||
}
|
||||
|
||||
void
|
||||
TtaSchedulerMemberSchedSapProvider::SchedDlRachInfoReq (const struct SchedDlRachInfoReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoSchedDlRachInfoReq (params);
|
||||
}
|
||||
|
||||
void
|
||||
TtaSchedulerMemberSchedSapProvider::SchedDlCqiInfoReq (const struct SchedDlCqiInfoReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoSchedDlCqiInfoReq (params);
|
||||
}
|
||||
|
||||
void
|
||||
TtaSchedulerMemberSchedSapProvider::SchedUlTriggerReq (const struct SchedUlTriggerReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoSchedUlTriggerReq (params);
|
||||
}
|
||||
|
||||
void
|
||||
TtaSchedulerMemberSchedSapProvider::SchedUlNoiseInterferenceReq (const struct SchedUlNoiseInterferenceReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoSchedUlNoiseInterferenceReq (params);
|
||||
}
|
||||
|
||||
void
|
||||
TtaSchedulerMemberSchedSapProvider::SchedUlSrInfoReq (const struct SchedUlSrInfoReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoSchedUlSrInfoReq (params);
|
||||
}
|
||||
|
||||
void
|
||||
TtaSchedulerMemberSchedSapProvider::SchedUlMacCtrlInfoReq (const struct SchedUlMacCtrlInfoReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoSchedUlMacCtrlInfoReq (params);
|
||||
}
|
||||
|
||||
void
|
||||
TtaSchedulerMemberSchedSapProvider::SchedUlCqiInfoReq (const struct SchedUlCqiInfoReqParameters& params)
|
||||
{
|
||||
m_scheduler->DoSchedUlCqiInfoReq (params);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
TtaFfMacScheduler::TtaFfMacScheduler ()
|
||||
: m_cschedSapUser (0),
|
||||
m_schedSapUser (0),
|
||||
m_nextRntiUl (0)
|
||||
{
|
||||
m_amc = CreateObject <LteAmc> ();
|
||||
m_cschedSapProvider = new TtaSchedulerMemberCschedSapProvider (this);
|
||||
m_schedSapProvider = new TtaSchedulerMemberSchedSapProvider (this);
|
||||
m_cschedSapProvider = new MemberCschedSapProvider<TtaFfMacScheduler> (this);
|
||||
m_schedSapProvider = new MemberSchedSapProvider<TtaFfMacScheduler> (this);
|
||||
}
|
||||
|
||||
TtaFfMacScheduler::~TtaFfMacScheduler ()
|
||||
|
||||
@@ -90,8 +90,8 @@ public:
|
||||
virtual void SetLteFfrSapProvider (LteFfrSapProvider* s);
|
||||
virtual LteFfrSapUser* GetLteFfrSapUser ();
|
||||
|
||||
friend class TtaSchedulerMemberCschedSapProvider;
|
||||
friend class TtaSchedulerMemberSchedSapProvider;
|
||||
friend class MemberCschedSapProvider<TtaFfMacScheduler>;
|
||||
friend class MemberSchedSapProvider<TtaFfMacScheduler>;
|
||||
|
||||
void TransmissionModeConfigurationUpdate (uint16_t rnti, uint8_t txMode);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user