A Discrete-Event Network Simulator
API
Loading...
Searching...
No Matches
ns3::MemberLteFfrSapProvider< C > Class Template Reference

Template for the implementation of the LteFfrSapProvider as a member of an owner class of type C to which all methods are forwarded. More...

#include "lte-ffr-sap.h"

+ Inheritance diagram for ns3::MemberLteFfrSapProvider< C >:
+ Collaboration diagram for ns3::MemberLteFfrSapProvider< C >:

Public Member Functions

 MemberLteFfrSapProvider ()=delete
 
 MemberLteFfrSapProvider (C *owner)
 Constructor.
 
std::vector< bool > GetAvailableDlRbg () override
 Get vector of available RBG in DL for this Cell.
 
std::vector< bool > GetAvailableUlRbg () override
 Get vector of available RB in UL for this Cell.
 
uint16_t GetMinContinuousUlBandwidth () override
 Get the minimum continuous Ul bandwidth.
 
uint8_t GetTpc (uint16_t rnti) override
 GetTpc.
 
bool IsDlRbgAvailableForUe (int i, uint16_t rnti) override
 Check if UE can be served on i-th RB in DL.
 
bool IsUlRbgAvailableForUe (int i, uint16_t rnti) override
 Check if UE can be served on i-th RB in UL.
 
void ReportDlCqiInfo (const FfMacSchedSapProvider::SchedDlCqiInfoReqParameters &params) override
 ReportDlCqiInfo.
 
void ReportUlCqiInfo (const FfMacSchedSapProvider::SchedUlCqiInfoReqParameters &params) override
 ReportUlCqiInfo.
 
void ReportUlCqiInfo (std::map< uint16_t, std::vector< double > > ulCqiMap) override
 ReportUlCqiInfo.
 
- Public Member Functions inherited from ns3::LteFfrSapProvider
virtual ~LteFfrSapProvider ()
 
virtual std::vector< bool > GetAvailableDlRbg ()=0
 Get vector of available RBG in DL for this Cell.
 
virtual std::vector< bool > GetAvailableUlRbg ()=0
 Get vector of available RB in UL for this Cell.
 
virtual uint16_t GetMinContinuousUlBandwidth ()=0
 Get the minimum continuous Ul bandwidth.
 
virtual uint8_t GetTpc (uint16_t rnti)=0
 GetTpc.
 
virtual bool IsDlRbgAvailableForUe (int i, uint16_t rnti)=0
 Check if UE can be served on i-th RB in DL.
 
virtual bool IsUlRbgAvailableForUe (int i, uint16_t rnti)=0
 Check if UE can be served on i-th RB in UL.
 
virtual void ReportDlCqiInfo (const FfMacSchedSapProvider::SchedDlCqiInfoReqParameters &params)=0
 ReportDlCqiInfo.
 
virtual void ReportUlCqiInfo (const FfMacSchedSapProvider::SchedUlCqiInfoReqParameters &params)=0
 ReportUlCqiInfo.
 
virtual void ReportUlCqiInfo (std::map< uint16_t, std::vector< double > > ulCqiMap)=0
 ReportUlCqiInfo.
 

Private Attributes

C * m_owner
 the owner class
 

Detailed Description

template<class C>
class ns3::MemberLteFfrSapProvider< C >

Template for the implementation of the LteFfrSapProvider as a member of an owner class of type C to which all methods are forwarded.

Definition at line 152 of file lte-ffr-sap.h.

Constructor & Destructor Documentation

◆ MemberLteFfrSapProvider() [1/2]

template<class C >
ns3::MemberLteFfrSapProvider< C >::MemberLteFfrSapProvider ( C *  owner)

Constructor.

Parameters
ownerthe owner class

Definition at line 182 of file lte-ffr-sap.h.

◆ MemberLteFfrSapProvider() [2/2]

template<class C >
ns3::MemberLteFfrSapProvider< C >::MemberLteFfrSapProvider ( )
delete

Member Function Documentation

◆ GetAvailableDlRbg()

template<class C >
std::vector< bool > ns3::MemberLteFfrSapProvider< C >::GetAvailableDlRbg ( )
overridevirtual

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.

Implements ns3::LteFfrSapProvider.

Definition at line 189 of file lte-ffr-sap.h.

◆ GetAvailableUlRbg()

template<class C >
std::vector< bool > ns3::MemberLteFfrSapProvider< C >::GetAvailableUlRbg ( )
overridevirtual

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.

Implements ns3::LteFfrSapProvider.

Definition at line 203 of file lte-ffr-sap.h.

◆ GetMinContinuousUlBandwidth()

template<class C >
uint16_t ns3::MemberLteFfrSapProvider< C >::GetMinContinuousUlBandwidth ( )
overridevirtual

Get the minimum continuous Ul bandwidth.

Returns
the minimum continuous UL bandwidth

Implements ns3::LteFfrSapProvider.

Definition at line 247 of file lte-ffr-sap.h.

◆ GetTpc()

template<class C >
uint8_t ns3::MemberLteFfrSapProvider< C >::GetTpc ( uint16_t  rnti)
overridevirtual

GetTpc.

Parameters
rntithe RNTI
Returns
the TCP

Implements ns3::LteFfrSapProvider.

Definition at line 240 of file lte-ffr-sap.h.

◆ IsDlRbgAvailableForUe()

template<class C >
bool ns3::MemberLteFfrSapProvider< C >::IsDlRbgAvailableForUe ( int  i,
uint16_t  rnti 
)
overridevirtual

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.

Implements ns3::LteFfrSapProvider.

Definition at line 196 of file lte-ffr-sap.h.

◆ IsUlRbgAvailableForUe()

template<class C >
bool ns3::MemberLteFfrSapProvider< C >::IsUlRbgAvailableForUe ( int  i,
uint16_t  rnti 
)
overridevirtual

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.

Implements ns3::LteFfrSapProvider.

Definition at line 210 of file lte-ffr-sap.h.

◆ ReportDlCqiInfo()

template<class C >
void ns3::MemberLteFfrSapProvider< C >::ReportDlCqiInfo ( const FfMacSchedSapProvider::SchedDlCqiInfoReqParameters params)
overridevirtual

ReportDlCqiInfo.

Parameters
paramsthe struct FfMacSchedSapProvider::SchedDlCqiInfoReqParameters

Implements ns3::LteFfrSapProvider.

Definition at line 217 of file lte-ffr-sap.h.

◆ ReportUlCqiInfo() [1/2]

template<class C >
void ns3::MemberLteFfrSapProvider< C >::ReportUlCqiInfo ( const FfMacSchedSapProvider::SchedUlCqiInfoReqParameters params)
overridevirtual

ReportUlCqiInfo.

Parameters
paramsthe struct FfMacSchedSapProvider::SchedUlCqiInfoReqParameters

Implements ns3::LteFfrSapProvider.

Definition at line 225 of file lte-ffr-sap.h.

◆ ReportUlCqiInfo() [2/2]

template<class C >
void ns3::MemberLteFfrSapProvider< C >::ReportUlCqiInfo ( std::map< uint16_t, std::vector< double > >  ulCqiMap)
overridevirtual

ReportUlCqiInfo.

Parameters
ulCqiMapthe UL CQI map

Implements ns3::LteFfrSapProvider.

Definition at line 233 of file lte-ffr-sap.h.

Member Data Documentation

◆ m_owner

template<class C >
C* ns3::MemberLteFfrSapProvider< C >::m_owner
private

the owner class

Definition at line 177 of file lte-ffr-sap.h.


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