A Discrete-Event Network Simulator
API
ns3::LteFfrSapProvider Class Referenceabstract

Service Access Point (SAP) offered by the Frequency Reuse algorithm instance to the MAC Scheduler instance. More...

#include "lte-ffr-sap.h"

+ Inheritance diagram for ns3::LteFfrSapProvider:

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 FfMacSchedSapProvider::SchedDlCqiInfoReqParameters &params)=0
 ReportDlCqiInfo. More...
 
virtual void ReportUlCqiInfo (const FfMacSchedSapProvider::SchedUlCqiInfoReqParameters &params)=0
 ReportUlCqiInfo. More...
 
virtual void ReportUlCqiInfo (std::map< uint16_t, std::vector< double >> ulCqiMap)=0
 ReportUlCqiInfo. More...
 

Detailed Description

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.

Constructor & Destructor Documentation

◆ ~LteFfrSapProvider()

ns3::LteFfrSapProvider::~LteFfrSapProvider ( )
virtual

Definition at line 26 of file lte-ffr-sap.cc.

Member Function Documentation

◆ GetAvailableDlRbg()

virtual std::vector<bool> ns3::LteFfrSapProvider::GetAvailableDlRbg ( )
pure virtual

Get vector of available RBG in DL for this Cell.

Returns
vector of size (m_dlBandwidth/RbgSize); false indicates that RBG is free to use, true otherwise

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().

+ Here is the caller graph for this function:

◆ GetAvailableUlRbg()

virtual std::vector<bool> ns3::LteFfrSapProvider::GetAvailableUlRbg ( )
pure virtual

Get vector of available RB in UL for this Cell.

Returns
vector of size m_ulBandwidth; false indicates that RB is free to use, true otherwise

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().

+ Here is the caller graph for this function:

◆ GetMinContinuousUlBandwidth()

virtual uint16_t ns3::LteFfrSapProvider::GetMinContinuousUlBandwidth ( )
pure virtual

◆ GetTpc()

virtual uint8_t ns3::LteFfrSapProvider::GetTpc ( uint16_t  rnti)
pure virtual

◆ IsDlRbgAvailableForUe()

virtual bool ns3::LteFfrSapProvider::IsDlRbgAvailableForUe ( int  i,
uint16_t  rnti 
)
pure virtual

Check if UE can be served on i-th RB in DL.

Parameters
iRBG ID
rntiRadio Network Temporary Identity, an integer identifying the UE where the report originates from
Returns
true if UE can be served on i-th RB, false otherwise

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().

+ Here is the caller graph for this function:

◆ IsUlRbgAvailableForUe()

virtual bool ns3::LteFfrSapProvider::IsUlRbgAvailableForUe ( int  i,
uint16_t  rnti 
)
pure virtual

Check if UE can be served on i-th RB in UL.

Parameters
iRB ID
rntiRadio Network Temporary Identity, an integer identifying the UE where the report originates from
Returns
true if UE can be served on i-th RB, false otherwise

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().

+ Here is the caller graph for this function:

◆ ReportDlCqiInfo()

◆ ReportUlCqiInfo() [1/2]

◆ ReportUlCqiInfo() [2/2]

virtual void ns3::LteFfrSapProvider::ReportUlCqiInfo ( std::map< uint16_t, std::vector< double >>  ulCqiMap)
pure virtual

ReportUlCqiInfo.

Parameters
ulCqiMapthe UL CQI map

Implemented in ns3::MemberLteFfrSapProvider< C >.


The documentation for this class was generated from the following files: