Service Access Point (SAP) offered by the Frequency Reuse algorithm instance to the MAC Scheduler instance. More...
#include "lte-ffr-sap.h"
Public Member Functions | |
virtual | ~LteFfrSapProvider () |
virtual std::vector< bool > | GetAvailableDlRbg ()=0 |
Get vector of available RBG in DL for this Cell. More... | |
virtual std::vector< bool > | GetAvailableUlRbg ()=0 |
Get vector of available RB in UL for this Cell. More... | |
virtual uint16_t | GetMinContinuousUlBandwidth ()=0 |
Get the minimum continuous Ul bandwidth. More... | |
virtual uint8_t | GetTpc (uint16_t rnti)=0 |
GetTpc. More... | |
virtual bool | IsDlRbgAvailableForUe (int i, uint16_t rnti)=0 |
Check if UE can be served on i-th RB in DL. More... | |
virtual bool | IsUlRbgAvailableForUe (int i, uint16_t rnti)=0 |
Check if UE can be served on i-th RB in UL. More... | |
virtual void | ReportDlCqiInfo (const struct FfMacSchedSapProvider::SchedDlCqiInfoReqParameters ¶ms)=0 |
ReportDlCqiInfo. More... | |
virtual void | ReportUlCqiInfo (const struct FfMacSchedSapProvider::SchedUlCqiInfoReqParameters ¶ms)=0 |
ReportUlCqiInfo. More... | |
virtual void | ReportUlCqiInfo (std::map< uint16_t, std::vector< double > > ulCqiMap)=0 |
ReportUlCqiInfo. More... | |
Service Access Point (SAP) offered by the Frequency Reuse algorithm instance to the MAC Scheduler instance.
This is the LteFfrSapProvider, i.e., the part of the SAP that contains the Frequency Reuse algorithm methods called by the MAC Scheduler instance.
Definition at line 39 of file lte-ffr-sap.h.
|
virtual |
Definition at line 28 of file lte-ffr-sap.cc.
|
pure virtual |
Get vector of available RBG in DL for this Cell.
This function is called by MAC Scheduler in the beginning of DL scheduling process. Frequency Reuse Algorithm based on its policy generates vector of RBG which can be used and which can not be used by Scheduler to schedule transmission.
Implemented in ns3::MemberLteFfrSapProvider< C >.
Referenced by ns3::CqaFfMacScheduler::DoSchedDlTriggerReq(), ns3::FdTbfqFfMacScheduler::DoSchedDlTriggerReq(), ns3::PfFfMacScheduler::DoSchedDlTriggerReq(), ns3::PssFfMacScheduler::DoSchedDlTriggerReq(), and ns3::TdTbfqFfMacScheduler::DoSchedDlTriggerReq().
|
pure virtual |
Get vector of available RB in UL for this Cell.
This function is called by MAC Scheduler in the beginning of UL scheduling process. Frequency Reuse Algorithm based on its policy generates vector of RB which can be used and which can not be used by Scheduler to schedule transmission.
Implemented in ns3::MemberLteFfrSapProvider< C >.
Referenced by ns3::CqaFfMacScheduler::DoSchedDlTriggerReq(), ns3::FdTbfqFfMacScheduler::DoSchedDlTriggerReq(), ns3::PfFfMacScheduler::DoSchedDlTriggerReq(), ns3::PssFfMacScheduler::DoSchedDlTriggerReq(), ns3::TdTbfqFfMacScheduler::DoSchedDlTriggerReq(), ns3::CqaFfMacScheduler::DoSchedUlTriggerReq(), ns3::FdTbfqFfMacScheduler::DoSchedUlTriggerReq(), ns3::PfFfMacScheduler::DoSchedUlTriggerReq(), ns3::PssFfMacScheduler::DoSchedUlTriggerReq(), and ns3::TdTbfqFfMacScheduler::DoSchedUlTriggerReq().
|
pure virtual |
Get the minimum continuous Ul bandwidth.
Implemented in ns3::MemberLteFfrSapProvider< C >.
Referenced by ns3::CqaFfMacScheduler::DoSchedUlTriggerReq(), ns3::FdTbfqFfMacScheduler::DoSchedUlTriggerReq(), ns3::PfFfMacScheduler::DoSchedUlTriggerReq(), ns3::PssFfMacScheduler::DoSchedUlTriggerReq(), and ns3::TdTbfqFfMacScheduler::DoSchedUlTriggerReq().
|
pure virtual |
GetTpc.
rnti | the RNTI |
Implemented in ns3::MemberLteFfrSapProvider< C >.
Referenced by ns3::CqaFfMacScheduler::DoSchedDlTriggerReq(), ns3::FdTbfqFfMacScheduler::DoSchedDlTriggerReq(), ns3::PfFfMacScheduler::DoSchedDlTriggerReq(), ns3::PssFfMacScheduler::DoSchedDlTriggerReq(), and ns3::TdTbfqFfMacScheduler::DoSchedDlTriggerReq().
|
pure virtual |
Check if UE can be served on i-th RB in DL.
i | RBG ID |
rnti | Radio Network Temporary Identity, an integer identifying the UE where the report originates from |
This function is called by MAC Scheduler during DL scheduling process to check if UE is allowed to be served with i-th RBG. Frequency Reuse Algorithm based on its policy decides if RBG is allowed to UE. If yes, Scheduler will try to allocate this RBG for UE, if not this UE will not be served with this RBG.
Implemented in ns3::MemberLteFfrSapProvider< C >.
Referenced by ns3::CqaFfMacScheduler::DoSchedDlTriggerReq(), ns3::FdTbfqFfMacScheduler::DoSchedDlTriggerReq(), ns3::PfFfMacScheduler::DoSchedDlTriggerReq(), ns3::PssFfMacScheduler::DoSchedDlTriggerReq(), and ns3::TdTbfqFfMacScheduler::DoSchedDlTriggerReq().
|
pure virtual |
Check if UE can be served on i-th RB in UL.
i | RB ID |
rnti | Radio Network Temporary Identity, an integer identifying the UE where the report originates from |
This function is called by MAC Scheduler during UL scheduling process to check if UE is allowed to be served with i-th RB. Frequency Reuse Algorithm based on its policy decides if RB is allowed to UE. If yes, Scheduler will try to allocate this RB for UE, if not this UE will not be served with this RB.
Implemented in ns3::MemberLteFfrSapProvider< C >.
Referenced by ns3::CqaFfMacScheduler::DoSchedUlTriggerReq(), ns3::FdTbfqFfMacScheduler::DoSchedUlTriggerReq(), ns3::PfFfMacScheduler::DoSchedUlTriggerReq(), ns3::PssFfMacScheduler::DoSchedUlTriggerReq(), and ns3::TdTbfqFfMacScheduler::DoSchedUlTriggerReq().
|
pure virtual |
ReportDlCqiInfo.
params | the struct FfMacSchedSapProvider::SchedDlCqiInfoReqParameters |
Implemented in ns3::MemberLteFfrSapProvider< C >.
Referenced by ns3::CqaFfMacScheduler::DoSchedDlCqiInfoReq(), ns3::FdTbfqFfMacScheduler::DoSchedDlCqiInfoReq(), ns3::PfFfMacScheduler::DoSchedDlCqiInfoReq(), ns3::PssFfMacScheduler::DoSchedDlCqiInfoReq(), and ns3::TdTbfqFfMacScheduler::DoSchedDlCqiInfoReq().
|
pure virtual |
ReportUlCqiInfo.
params | the struct FfMacSchedSapProvider::SchedUlCqiInfoReqParameters |
Implemented in ns3::MemberLteFfrSapProvider< C >.
Referenced by ns3::PfFfMacScheduler::DoSchedUlCqiInfoReq(), ns3::CqaFfMacScheduler::DoSchedUlTriggerReq(), ns3::FdTbfqFfMacScheduler::DoSchedUlTriggerReq(), ns3::PfFfMacScheduler::DoSchedUlTriggerReq(), ns3::PssFfMacScheduler::DoSchedUlTriggerReq(), and ns3::TdTbfqFfMacScheduler::DoSchedUlTriggerReq().
|
pure virtual |
ReportUlCqiInfo.
ulCqiMap | the UL CQI map |
Implemented in ns3::MemberLteFfrSapProvider< C >.