A Discrete-Event Network Simulator
API
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. More...
 
virtual std::vector< bool > GetAvailableDlRbg ()
 Get vector of available RBG in DL for this Cell. More...
 
virtual std::vector< bool > GetAvailableUlRbg ()
 Get vector of available RB in UL for this Cell. More...
 
virtual uint16_t GetMinContinuousUlBandwidth ()
 Get the minimum continuous Ul bandwidth. More...
 
virtual uint8_t GetTpc (uint16_t rnti)
 GetTpc. More...
 
virtual bool IsDlRbgAvailableForUe (int i, uint16_t rnti)
 Check if UE can be served on i-th RB in DL. More...
 
virtual bool IsUlRbgAvailableForUe (int i, uint16_t rnti)
 Check if UE can be served on i-th RB in UL. More...
 
virtual void ReportDlCqiInfo (const struct FfMacSchedSapProvider::SchedDlCqiInfoReqParameters &params)
 ReportDlCqiInfo. More...
 
virtual void ReportUlCqiInfo (const struct FfMacSchedSapProvider::SchedUlCqiInfoReqParameters &params)
 ReportUlCqiInfo. More...
 
virtual void ReportUlCqiInfo (std::map< uint16_t, std::vector< double > > ulCqiMap)
 ReportUlCqiInfo. More...
 
- 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. 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 &params)=0
 ReportDlCqiInfo. More...
 
virtual void ReportUlCqiInfo (const struct FfMacSchedSapProvider::SchedUlCqiInfoReqParameters &params)=0
 ReportUlCqiInfo. More...
 
virtual void ReportUlCqiInfo (std::map< uint16_t, std::vector< double > > ulCqiMap)=0
 ReportUlCqiInfo. More...
 

Private Attributes

C * m_owner
 the owner class More...
 

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

Implements ns3::LteFfrSapProvider.

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

◆ GetAvailableUlRbg()

template<class C >
std::vector< bool > ns3::MemberLteFfrSapProvider< C >::GetAvailableUlRbg ( )
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.

Implements ns3::LteFfrSapProvider.

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

◆ GetMinContinuousUlBandwidth()

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

Get the minimum continuous Ul bandwidth.

Returns
the minimum continuous UL bandwidth

Implements ns3::LteFfrSapProvider.

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

◆ GetTpc()

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

GetTpc.

Parameters
rntithe RNTI
Returns
the TCP

Implements ns3::LteFfrSapProvider.

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

◆ IsDlRbgAvailableForUe()

template<class C >
bool ns3::MemberLteFfrSapProvider< C >::IsDlRbgAvailableForUe ( int  i,
uint16_t  rnti 
)
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.

Implements ns3::LteFfrSapProvider.

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

◆ IsUlRbgAvailableForUe()

template<class C >
bool ns3::MemberLteFfrSapProvider< C >::IsUlRbgAvailableForUe ( int  i,
uint16_t  rnti 
)
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.

Implements ns3::LteFfrSapProvider.

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

◆ ReportDlCqiInfo()

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

ReportDlCqiInfo.

Parameters
paramsthe struct FfMacSchedSapProvider::SchedDlCqiInfoReqParameters

Implements ns3::LteFfrSapProvider.

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

◆ ReportUlCqiInfo() [1/2]

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

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)
virtual

ReportUlCqiInfo.

Parameters
ulCqiMapthe UL CQI map

Implements ns3::LteFfrSapProvider.

Definition at line 232 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 176 of file lte-ffr-sap.h.


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