Implements the SCHED SAP and CSCHED SAP for the Channel and QoS Aware Scheduler. More...
#include <cqa-ff-mac-scheduler.h>
Public Member Functions | |
CqaFfMacScheduler () | |
Constructor. More... | |
virtual | ~CqaFfMacScheduler () |
Destructor. More... | |
virtual void | DoDispose (void) |
This method is called by Object::Dispose or by the object's destructor, whichever comes first. More... | |
virtual FfMacCschedSapProvider * | GetFfMacCschedSapProvider () |
virtual FfMacSchedSapProvider * | GetFfMacSchedSapProvider () |
virtual LteFfrSapUser * | GetLteFfrSapUser () |
virtual void | SetFfMacCschedSapUser (FfMacCschedSapUser *s) |
set the user part of the FfMacCschedSap that this Scheduler will interact with. More... | |
virtual void | SetFfMacSchedSapUser (FfMacSchedSapUser *s) |
set the user part of the FfMacSchedSap that this Scheduler will interact with. More... | |
virtual void | SetLteFfrSapProvider (LteFfrSapProvider *s) |
Set the Provider part of the LteFfrSap that this Scheduler will interact with. More... | |
void | TransmissionModeConfigurationUpdate (uint16_t rnti, uint8_t txMode) |
![]() | |
FfMacScheduler () | |
constructor More... | |
virtual | ~FfMacScheduler () |
destructor More... | |
![]() | |
Object () | |
virtual | ~Object () |
void | AggregateObject (Ptr< Object > other) |
void | Dispose (void) |
Run the DoDispose methods of this object and all the objects aggregated to it. More... | |
AggregateIterator | GetAggregateIterator (void) const |
virtual TypeId | GetInstanceTypeId (void) const |
template<typename T > | |
Ptr< T > | GetObject (void) const |
template<typename T > | |
Ptr< T > | GetObject (TypeId tid) const |
void | Initialize (void) |
This method calls the virtual DoInitialize method on all the objects aggregated to this object. More... | |
![]() | |
SimpleRefCount () | |
Constructor. More... | |
SimpleRefCount (const SimpleRefCount &o) | |
Copy constructor. More... | |
uint32_t | GetReferenceCount (void) const |
Get the reference count of the object. More... | |
SimpleRefCount & | operator= (const SimpleRefCount &o) |
Assignment. More... | |
void | Ref (void) const |
Increment the reference count. More... | |
void | Unref (void) const |
Decrement the reference count. More... | |
![]() | |
virtual | ~ObjectBase () |
Virtual destructor. More... | |
void | GetAttribute (std::string name, AttributeValue &value) const |
bool | GetAttributeFailSafe (std::string name, AttributeValue &attribute) const |
void | SetAttribute (std::string name, const AttributeValue &value) |
bool | SetAttributeFailSafe (std::string name, const AttributeValue &value) |
bool | TraceConnect (std::string name, std::string context, const CallbackBase &cb) |
bool | TraceConnectWithoutContext (std::string name, const CallbackBase &cb) |
bool | TraceDisconnect (std::string name, std::string context, const CallbackBase &cb) |
bool | TraceDisconnectWithoutContext (std::string name, const CallbackBase &cb) |
Static Public Member Functions | |
static TypeId | GetTypeId (void) |
![]() | |
static TypeId | GetTypeId (void) |
![]() | |
static TypeId | GetTypeId (void) |
Register this type. More... | |
![]() | |
static void | Cleanup (void) |
Noop. More... | |
![]() | |
static TypeId | GetTypeId (void) |
Get the type ID. More... | |
Friends | |
class | CqaSchedulerMemberCschedSapProvider |
class | CqaSchedulerMemberSchedSapProvider |
Additional Inherited Members | |
![]() | |
enum | UlCqiFilter_t { SRS_UL_CQI, PUSCH_UL_CQI, ALL_UL_CQI } |
The type of UL CQI to be filtered (ALL means accept all the CQI, where a new CQI of any type overwrite the old one, even of another type) More... | |
![]() | |
Object (const Object &o) | |
virtual void | DoInitialize (void) |
This method is called only once by Object::Initialize. More... | |
virtual void | NotifyNewAggregate (void) |
This method is invoked whenever two sets of objects are aggregated together. More... | |
![]() | |
void | ConstructSelf (const AttributeConstructionList &attributes) |
virtual void | NotifyConstructionCompleted (void) |
This method is invoked once all member attributes have been initialized. More... | |
![]() | |
UlCqiFilter_t | m_ulCqiFilter |
Implements the SCHED SAP and CSCHED SAP for the Channel and QoS Aware Scheduler.
This class implements the interface defined by the FfMacScheduler abstract class
ns3::CqaFfMacScheduler is accessible through the following paths with Config::Set and Config::Connect:
No TraceSources are defined for this type.
Definition at line 73 of file cqa-ff-mac-scheduler.h.
ns3::CqaFfMacScheduler::CqaFfMacScheduler | ( | ) |
Constructor.
Creates the MAC Scheduler interface implementation
Definition at line 264 of file cqa-ff-mac-scheduler.cc.
References CqaSchedulerMemberCschedSapProvider, CqaSchedulerMemberSchedSapProvider, m_amc, m_cschedSapProvider, m_ffrSapProvider, m_ffrSapUser, and m_schedSapProvider.
|
virtual |
|
private |
Definition at line 367 of file cqa-ff-mac-scheduler.cc.
References ns3::FfMacCschedSapUser::CschedUeConfigCnf(), m_cschedCellConfig, m_cschedSapUser, m_rachAllocationMap, ns3::FfMacCschedSapUser::CschedUeConfigCnfParameters::m_result, ns3::FfMacCschedSapProvider::CschedCellConfigReqParameters::m_ulBandwidth, NS_LOG_FUNCTION, and ns3::SUCCESS.
Referenced by ns3::CqaSchedulerMemberCschedSapProvider::CschedCellConfigReq().
|
private |
Definition at line 419 of file cqa-ff-mac-scheduler.cc.
References ns3::CqasFlowPerf_t::flowStart, ns3::CqasFlowPerf_t::lastAveragedThroughput, ns3::CqasFlowPerf_t::lastTtiBytesTransmitted, m_flowStatsDl, m_flowStatsUl, ns3::FfMacCschedSapProvider::CschedLcConfigReqParameters::m_logicalChannelConfigList, ns3::FfMacCschedSapProvider::CschedLcConfigReqParameters::m_reconfigureFlag, ns3::FfMacCschedSapProvider::CschedLcConfigReqParameters::m_rnti, m_ueLogicalChannelsConfigList, ns3::Simulator::Now(), NS_LOG_ERROR, NS_LOG_FUNCTION, ns3::CqasFlowPerf_t::secondLastAveragedThroughput, ns3::CqasFlowPerf_t::targetThroughput, and ns3::CqasFlowPerf_t::totalBytesTransmitted.
Referenced by ns3::CqaSchedulerMemberCschedSapProvider::CschedLcConfigReq().
|
private |
Definition at line 500 of file cqa-ff-mac-scheduler.cc.
References ns3::FfMacCschedSapProvider::CschedLcReleaseReqParameters::m_logicalChannelIdentity, m_rlcBufferReq, ns3::FfMacCschedSapProvider::CschedLcReleaseReqParameters::m_rnti, m_ueLogicalChannelsConfigList, NS_FATAL_ERROR, and NS_LOG_FUNCTION.
Referenced by ns3::CqaSchedulerMemberCschedSapProvider::CschedLcReleaseReq().
|
private |
Definition at line 380 of file cqa-ff-mac-scheduler.cc.
References m_dlHarqCurrentProcessId, m_dlHarqProcessesDciBuffer, m_dlHarqProcessesRlcPduListBuffer, m_dlHarqProcessesStatus, m_dlHarqProcessesTimer, ns3::FfMacCschedSapProvider::CschedUeConfigReqParameters::m_rnti, ns3::FfMacCschedSapProvider::CschedUeConfigReqParameters::m_transmissionMode, m_uesTxMode, m_ulHarqCurrentProcessId, m_ulHarqProcessesDciBuffer, m_ulHarqProcessesStatus, and NS_LOG_FUNCTION.
Referenced by ns3::CqaSchedulerMemberCschedSapProvider::CschedUeConfigReq().
|
private |
Definition at line 542 of file cqa-ff-mac-scheduler.cc.
References m_ceBsrRxed, m_dlHarqCurrentProcessId, m_dlHarqProcessesDciBuffer, m_dlHarqProcessesRlcPduListBuffer, m_dlHarqProcessesStatus, m_dlHarqProcessesTimer, m_flowStatsDl, m_flowStatsUl, m_nextRntiUl, m_rlcBufferReq, ns3::FfMacCschedSapProvider::CschedUeReleaseReqParameters::m_rnti, m_ueLogicalChannelsConfigList, m_uesTxMode, m_ulHarqCurrentProcessId, m_ulHarqProcessesDciBuffer, m_ulHarqProcessesStatus, MAX_LC_LIST, and NS_LOG_FUNCTION.
Referenced by ns3::CqaSchedulerMemberCschedSapProvider::CschedUeReleaseReq().
|
virtual |
This method is called by Object::Dispose or by the object's destructor, whichever comes first.
Subclasses are expected to implement their real destruction code in an overriden version of this method and chain up to their parent's implementation once they are done. i.e., for simplicity, the destructor of every subclass should be empty and its content should be moved to the associated DoDispose method.
It is safe to call GetObject from within this method.
Reimplemented from ns3::FfMacScheduler.
Definition at line 283 of file cqa-ff-mac-scheduler.cc.
References m_cschedSapProvider, m_dlHarqProcessesDciBuffer, m_dlHarqProcessesRlcPduListBuffer, m_dlHarqProcessesTimer, m_dlInfoListBuffered, m_ffrSapUser, m_schedSapProvider, m_ulHarqCurrentProcessId, m_ulHarqProcessesDciBuffer, m_ulHarqProcessesStatus, and NS_LOG_FUNCTION.
|
private |
Definition at line 1760 of file cqa-ff-mac-scheduler.cc.
References ns3::CqiListElement_s::A30, m_a30CqiRxed, m_a30CqiTimers, ns3::FfMacSchedSapProvider::SchedDlCqiInfoReqParameters::m_cqiList, m_cqiTimersThreshold, m_ffrSapProvider, m_p10CqiRxed, m_p10CqiTimers, NS_LOG_ERROR, NS_LOG_FUNCTION, ns3::CqiListElement_s::P10, and ns3::LteFfrSapProvider::ReportDlCqiInfo().
Referenced by ns3::CqaSchedulerMemberSchedSapProvider::SchedDlCqiInfoReq().
|
private |
Definition at line 625 of file cqa-ff-mac-scheduler.cc.
References NS_FATAL_ERROR, and NS_LOG_FUNCTION.
Referenced by ns3::CqaSchedulerMemberSchedSapProvider::SchedDlMacBufferReq().
|
private |
Definition at line 617 of file cqa-ff-mac-scheduler.cc.
References NS_FATAL_ERROR, and NS_LOG_FUNCTION.
Referenced by ns3::CqaSchedulerMemberSchedSapProvider::SchedDlPagingBufferReq().
|
private |
Definition at line 1750 of file cqa-ff-mac-scheduler.cc.
References ns3::FfMacSchedSapProvider::SchedDlRachInfoReqParameters::m_rachList, m_rachList, and NS_LOG_FUNCTION.
Referenced by ns3::CqaSchedulerMemberSchedSapProvider::SchedDlRachInfoReq().
|
private |
Definition at line 593 of file cqa-ff-mac-scheduler.cc.
References ns3::FfMacSchedSapProvider::SchedDlRlcBufferReqParameters::m_logicalChannelIdentity, m_rlcBufferReq, ns3::FfMacSchedSapProvider::SchedDlRlcBufferReqParameters::m_rnti, and NS_LOG_FUNCTION.
Referenced by ns3::CqaSchedulerMemberSchedSapProvider::SchedDlRlcBufferReq().
|
private |
Definition at line 778 of file cqa-ff-mac-scheduler.cc.
References ns3::CqaGroupDescComparator(), ns3::qos_rb_and_CQI_assigned_to_lc::cqi_value_for_lc, ns3::LteFfrSapProvider::GetAvailableDlRbg(), ns3::LteFfrSapProvider::GetAvailableUlRbg(), GetRbgSize(), ns3::LteFfrSapProvider::GetTpc(), visualizer.higcontainer::group, HARQ_PROC_NUM, HarqProcessAvailability(), ns3::LteFfrSapProvider::IsDlRbgAvailableForUe(), LcActivePerFlow(), m_a30CqiRxed, ns3::UlDciListElement_s::m_aggrLevel, m_amc, ns3::FfMacSchedSapUser::SchedDlConfigIndParameters::m_buildDataList, ns3::FfMacSchedSapUser::SchedDlConfigIndParameters::m_buildRarList, ns3::UlDciListElement_s::m_cceIndex, m_CqaMetric, ns3::UlDciListElement_s::m_cqiRequest, m_cschedCellConfig, ns3::UlDciListElement_s::m_dai, ns3::BuildDataListElement_s::m_dci, ns3::FfMacCschedSapProvider::CschedCellConfigReqParameters::m_dlBandwidth, m_dlHarqProcessesDciBuffer, m_dlHarqProcessesRlcPduListBuffer, m_dlHarqProcessesStatus, m_dlHarqProcessesTimer, ns3::FfMacSchedSapProvider::SchedDlTriggerReqParameters::m_dlInfoList, m_dlInfoListBuffered, ns3::LogicalChannelConfigListElement_s::m_eRabGuaranteedBitrateDl, m_ffrSapProvider, m_flowStatsDl, ns3::UlDciListElement_s::m_freqHopping, m_harqOn, ns3::DlDciListElement_s::m_harqProcess, ns3::UlDciListElement_s::m_hopping, ns3::LteFlowId_t::m_lcId, ns3::RlcPduListElement_s::m_logicalChannelIdentity, ns3::DlDciListElement_s::m_mcs, ns3::UlDciListElement_s::m_mcs, ns3::UlDciListElement_s::m_n2Dmrs, ns3::DlDciListElement_s::m_ndi, ns3::UlDciListElement_s::m_ndi, ns3::FfMacSchedSapUser::SchedDlConfigIndParameters::m_nrOfPdcchOfdmSymbols, ns3::UlDciListElement_s::m_pdcchPowerOffset, m_rachAllocationMap, m_rachList, ns3::DlDciListElement_s::m_rbBitmap, ns3::UlDciListElement_s::m_rbLen, ns3::UlDciListElement_s::m_rbStart, ns3::DlDciListElement_s::m_resAlloc, m_rlcBufferReq, ns3::BuildDataListElement_s::m_rlcPduList, ns3::LteFlowId_t::m_rnti, ns3::DlDciListElement_s::m_rnti, ns3::UlDciListElement_s::m_rnti, ns3::BuildDataListElement_s::m_rnti, ns3::BuildRarListElement_s::m_rnti, ns3::DlDciListElement_s::m_rv, m_schedSapUser, ns3::FfMacSchedSapProvider::SchedDlTriggerReqParameters::m_sfnSf, ns3::RlcPduListElement_s::m_size, ns3::UlDciListElement_s::m_tbSize, ns3::DlDciListElement_s::m_tbsSize, m_timeWindow, ns3::DlDciListElement_s::m_tpc, ns3::UlDciListElement_s::m_tpc, m_ueLogicalChannelsConfigList, m_uesTxMode, ns3::UlDciListElement_s::m_ueTxAntennaSelection, ns3::FfMacCschedSapProvider::CschedCellConfigReqParameters::m_ulBandwidth, m_ulGrantMcs, m_ulHarqCurrentProcessId, m_ulHarqProcessesDciBuffer, ns3::UlDciListElement_s::m_ulIndex, ns3::DlInfoListElement_s::NACK, NS_ASSERT_MSG, NS_FATAL_ERROR, NS_LOG_DEBUG, NS_LOG_ERROR, NS_LOG_FUNCTION, NS_LOG_INFO, RefreshDlCqiMaps(), RefreshHarqProcesses(), ns3::qos_rb_and_CQI_assigned_to_lc::resource_block_index, s, ns3::FfMacSchedSapUser::SchedDlConfigInd(), ns3::TransmissionModesLayers::TxMode2LayerNum(), UpdateDlRlcBufferInfo(), and UpdateHarqProcessId().
Referenced by ns3::CqaSchedulerMemberSchedSapProvider::SchedDlTriggerReq().
|
private |
Definition at line 2320 of file cqa-ff-mac-scheduler.cc.
References ns3::FfMacScheduler::ALL_UL_CQI, ns3::LteFfConverter::fpS11dot3toDouble(), m_allocationMaps, m_cqiTimersThreshold, m_cschedCellConfig, ns3::FfMacSchedSapProvider::SchedUlCqiInfoReqParameters::m_sfnSf, ns3::UlCqi_s::m_sinr, ns3::UlCqi_s::m_type, m_ueCqi, m_ueCqiTimers, ns3::FfMacCschedSapProvider::CschedCellConfigReqParameters::m_ulBandwidth, ns3::FfMacSchedSapProvider::SchedUlCqiInfoReqParameters::m_ulCqi, ns3::FfMacScheduler::m_ulCqiFilter, ns3::FfMacSchedSapProvider::SchedUlCqiInfoReqParameters::m_vendorSpecificList, NO_SINR, NS_ASSERT, NS_FATAL_ERROR, NS_LOG_DEBUG, NS_LOG_FUNCTION, NS_LOG_INFO, ns3::UlCqi_s::PRACH, ns3::UlCqi_s::PUCCH_1, ns3::UlCqi_s::PUCCH_2, ns3::UlCqi_s::PUSCH, ns3::FfMacScheduler::PUSCH_UL_CQI, ns3::UlCqi_s::SRS, SRS_CQI_RNTI_VSP, and ns3::FfMacScheduler::SRS_UL_CQI.
Referenced by ns3::CqaSchedulerMemberSchedSapProvider::SchedUlCqiInfoReq().
|
private |
Definition at line 2276 of file cqa-ff-mac-scheduler.cc.
References ns3::MacCeListElement_s::BSR, ns3::BufferSizeLevelBsr::BsrId2BufferSize(), m_ceBsrRxed, ns3::FfMacSchedSapProvider::SchedUlMacCtrlInfoReqParameters::m_macCeList, NS_LOG_FUNCTION, and NS_LOG_LOGIC.
Referenced by ns3::CqaSchedulerMemberSchedSapProvider::SchedUlMacCtrlInfoReq().
|
private |
Definition at line 2262 of file cqa-ff-mac-scheduler.cc.
References NS_LOG_FUNCTION.
Referenced by ns3::CqaSchedulerMemberSchedSapProvider::SchedUlNoiseInterferenceReq().
|
private |
Definition at line 2269 of file cqa-ff-mac-scheduler.cc.
References NS_LOG_FUNCTION.
Referenced by ns3::CqaSchedulerMemberSchedSapProvider::SchedUlSrInfoReq().
|
private |
Definition at line 1853 of file cqa-ff-mac-scheduler.cc.
References EstimateUlSinr(), ns3::LteFfrSapProvider::GetAvailableUlRbg(), ns3::LteFfrSapProvider::GetMinContinuousUlBandwidth(), HARQ_PERIOD, HARQ_PROC_NUM, ns3::LteFfrSapProvider::IsUlRbgAvailableForUe(), ns3::UlDciListElement_s::m_aggrLevel, m_allocationMaps, m_amc, ns3::UlDciListElement_s::m_cceIndex, m_ceBsrRxed, ns3::UlDciListElement_s::m_cqiRequest, m_cschedCellConfig, ns3::UlDciListElement_s::m_dai, ns3::FfMacSchedSapUser::SchedUlConfigIndParameters::m_dciList, m_ffrSapProvider, m_flowStatsUl, ns3::UlDciListElement_s::m_freqHopping, m_harqOn, ns3::UlDciListElement_s::m_hopping, ns3::UlDciListElement_s::m_mcs, ns3::UlDciListElement_s::m_n2Dmrs, ns3::UlDciListElement_s::m_ndi, m_nextRntiUl, ns3::UlDciListElement_s::m_pdcchPowerOffset, m_rachAllocationMap, ns3::UlDciListElement_s::m_rbLen, ns3::UlDciListElement_s::m_rbStart, ns3::UlDciListElement_s::m_rnti, m_schedSapUser, ns3::FfMacSchedSapProvider::SchedUlTriggerReqParameters::m_sfnSf, ns3::UlDciListElement_s::m_tbSize, m_timeWindow, ns3::UlDciListElement_s::m_tpc, m_ueCqi, ns3::UlDciListElement_s::m_ueTxAntennaSelection, ns3::FfMacCschedSapProvider::CschedCellConfigReqParameters::m_ulBandwidth, m_ulHarqCurrentProcessId, m_ulHarqProcessesDciBuffer, m_ulHarqProcessesStatus, ns3::UlDciListElement_s::m_ulIndex, ns3::FfMacSchedSapProvider::SchedUlTriggerReqParameters::m_ulInfoList, NO_SINR, ns3::UlInfoListElement_s::NotOk, NS_FATAL_ERROR, NS_LOG_DEBUG, NS_LOG_ERROR, NS_LOG_FUNCTION, NS_LOG_INFO, RefreshUlCqiMaps(), ns3::LteFfrSapProvider::ReportUlCqiInfo(), s, ns3::FfMacSchedSapUser::SchedUlConfigInd(), and UpdateUlRlcBufferInfo().
Referenced by ns3::CqaSchedulerMemberSchedSapProvider::SchedUlTriggerReq().
|
private |
Definition at line 1822 of file cqa-ff-mac-scheduler.cc.
References m_cschedCellConfig, m_ueCqi, ns3::FfMacCschedSapProvider::CschedCellConfigReqParameters::m_ulBandwidth, and NO_SINR.
Referenced by DoSchedUlTriggerReq().
|
virtual |
Implements ns3::FfMacScheduler.
Definition at line 343 of file cqa-ff-mac-scheduler.cc.
References m_cschedSapProvider.
|
virtual |
Implements ns3::FfMacScheduler.
Definition at line 349 of file cqa-ff-mac-scheduler.cc.
References m_schedSapProvider.
|
virtual |
Implements ns3::FfMacScheduler.
Definition at line 361 of file cqa-ff-mac-scheduler.cc.
References m_ffrSapUser.
|
private |
Definition at line 633 of file cqa-ff-mac-scheduler.cc.
References ns3::CqaType0AllocationRbg.
Referenced by DoSchedDlTriggerReq().
|
static |
Definition at line 299 of file cqa-ff-mac-scheduler.cc.
References m_CqaMetric, m_cqiTimersThreshold, m_harqOn, m_ulGrantMcs, and ns3::TypeId::SetParent().
|
private |
Return the availability of free process for the RNTI specified.
rnti | the RNTI of the UE to be updated |
Definition at line 671 of file cqa-ff-mac-scheduler.cc.
References HARQ_PROC_NUM, m_dlHarqCurrentProcessId, m_dlHarqProcessesStatus, NS_FATAL_ERROR, and NS_LOG_FUNCTION.
Referenced by DoSchedDlTriggerReq().
|
private |
Definition at line 648 of file cqa-ff-mac-scheduler.cc.
References m_rlcBufferReq.
Referenced by DoSchedDlTriggerReq().
|
private |
Definition at line 2469 of file cqa-ff-mac-scheduler.cc.
References m_a30CqiRxed, m_a30CqiTimers, m_cqiTimersThreshold, m_p10CqiRxed, m_p10CqiTimers, NS_ASSERT_MSG, and NS_LOG_INFO.
Referenced by DoSchedDlTriggerReq().
|
private |
Refresh HARQ processes according to the timers.
Definition at line 745 of file cqa-ff-mac-scheduler.cc.
References HARQ_DL_TIMEOUT, HARQ_PROC_NUM, m_dlHarqProcessesStatus, m_dlHarqProcessesTimer, NS_FATAL_ERROR, NS_LOG_DEBUG, and NS_LOG_FUNCTION.
Referenced by DoSchedDlTriggerReq().
|
private |
Definition at line 2522 of file cqa-ff-mac-scheduler.cc.
References m_cqiTimersThreshold, m_ueCqi, m_ueCqiTimers, NS_ASSERT_MSG, and NS_LOG_INFO.
Referenced by DoSchedUlTriggerReq().
|
virtual |
set the user part of the FfMacCschedSap that this Scheduler will interact with.
Normally this part of the SAP is exported by the MAC.
s |
Implements ns3::FfMacScheduler.
Definition at line 331 of file cqa-ff-mac-scheduler.cc.
References m_cschedSapUser, and s.
|
virtual |
set the user part of the FfMacSchedSap that this Scheduler will interact with.
Normally this part of the SAP is exported by the MAC.
s |
Implements ns3::FfMacScheduler.
Definition at line 337 of file cqa-ff-mac-scheduler.cc.
References m_schedSapUser, and s.
|
virtual |
Set the Provider part of the LteFfrSap that this Scheduler will interact with.
s |
Implements ns3::FfMacScheduler.
Definition at line 355 of file cqa-ff-mac-scheduler.cc.
References m_ffrSapProvider, and s.
void ns3::CqaFfMacScheduler::TransmissionModeConfigurationUpdate | ( | uint16_t | rnti, |
uint8_t | txMode | ||
) |
Definition at line 2629 of file cqa-ff-mac-scheduler.cc.
References ns3::FfMacCschedSapUser::CschedUeConfigUpdateInd(), m_cschedSapUser, ns3::FfMacCschedSapUser::CschedUeConfigUpdateIndParameters::m_rnti, ns3::FfMacCschedSapUser::CschedUeConfigUpdateIndParameters::m_transmissionMode, and NS_LOG_FUNCTION.
|
private |
Definition at line 2552 of file cqa-ff-mac-scheduler.cc.
References m_rlcBufferReq, NS_LOG_ERROR, and NS_LOG_INFO.
Referenced by DoSchedDlTriggerReq().
|
private |
Update and return a new process Id for the RNTI specified.
rnti | the RNTI of the UE to be updated |
Definition at line 704 of file cqa-ff-mac-scheduler.cc.
References HARQ_PROC_NUM, m_dlHarqCurrentProcessId, m_dlHarqProcessesStatus, m_harqOn, NS_FATAL_ERROR, and NS_LOG_FUNCTION.
Referenced by DoSchedDlTriggerReq().
|
private |
Definition at line 2604 of file cqa-ff-mac-scheduler.cc.
References m_ceBsrRxed, NS_LOG_ERROR, and NS_LOG_INFO.
Referenced by DoSchedUlTriggerReq().
|
friend |
Definition at line 102 of file cqa-ff-mac-scheduler.h.
Referenced by CqaFfMacScheduler().
|
friend |
Definition at line 103 of file cqa-ff-mac-scheduler.h.
Referenced by CqaFfMacScheduler().
|
private |
Definition at line 217 of file cqa-ff-mac-scheduler.h.
Referenced by DoSchedDlCqiInfoReq(), DoSchedDlTriggerReq(), and RefreshDlCqiMaps().
|
private |
Definition at line 221 of file cqa-ff-mac-scheduler.h.
Referenced by DoSchedDlCqiInfoReq(), and RefreshDlCqiMaps().
|
private |
Definition at line 227 of file cqa-ff-mac-scheduler.h.
Referenced by DoSchedUlCqiInfoReq(), and DoSchedUlTriggerReq().
Definition at line 185 of file cqa-ff-mac-scheduler.h.
Referenced by CqaFfMacScheduler(), DoSchedDlTriggerReq(), and DoSchedUlTriggerReq().
|
private |
Definition at line 241 of file cqa-ff-mac-scheduler.h.
Referenced by DoCschedUeReleaseReq(), DoSchedUlMacCtrlInfoReq(), DoSchedUlTriggerReq(), and UpdateUlRlcBufferInfo().
|
private |
Definition at line 294 of file cqa-ff-mac-scheduler.h.
Referenced by DoSchedDlTriggerReq(), and GetTypeId().
|
private |
Definition at line 261 of file cqa-ff-mac-scheduler.h.
Referenced by DoSchedDlCqiInfoReq(), DoSchedUlCqiInfoReq(), GetTypeId(), RefreshDlCqiMaps(), and RefreshUlCqiMaps().
|
private |
Definition at line 254 of file cqa-ff-mac-scheduler.h.
Referenced by DoCschedCellConfigReq(), DoSchedDlTriggerReq(), DoSchedUlCqiInfoReq(), DoSchedUlTriggerReq(), and EstimateUlSinr().
|
private |
Definition at line 246 of file cqa-ff-mac-scheduler.h.
Referenced by CqaFfMacScheduler(), DoDispose(), and GetFfMacCschedSapProvider().
|
private |
Definition at line 244 of file cqa-ff-mac-scheduler.h.
Referenced by DoCschedCellConfigReq(), SetFfMacCschedSapUser(), and TransmissionModeConfigurationUpdate().
|
private |
Definition at line 270 of file cqa-ff-mac-scheduler.h.
Referenced by DoCschedUeConfigReq(), DoCschedUeReleaseReq(), HarqProcessAvailability(), and UpdateHarqProcessId().
|
private |
Definition at line 276 of file cqa-ff-mac-scheduler.h.
Referenced by DoCschedUeConfigReq(), DoCschedUeReleaseReq(), DoDispose(), and DoSchedDlTriggerReq().
|
private |
Definition at line 277 of file cqa-ff-mac-scheduler.h.
Referenced by DoCschedUeConfigReq(), DoCschedUeReleaseReq(), DoDispose(), and DoSchedDlTriggerReq().
|
private |
Definition at line 274 of file cqa-ff-mac-scheduler.h.
Referenced by DoCschedUeConfigReq(), DoCschedUeReleaseReq(), DoSchedDlTriggerReq(), HarqProcessAvailability(), RefreshHarqProcesses(), and UpdateHarqProcessId().
|
private |
Definition at line 275 of file cqa-ff-mac-scheduler.h.
Referenced by DoCschedUeConfigReq(), DoCschedUeReleaseReq(), DoDispose(), DoSchedDlTriggerReq(), and RefreshHarqProcesses().
|
private |
Definition at line 278 of file cqa-ff-mac-scheduler.h.
Referenced by DoDispose(), and DoSchedDlTriggerReq().
|
private |
Definition at line 251 of file cqa-ff-mac-scheduler.h.
Referenced by CqaFfMacScheduler(), DoSchedDlCqiInfoReq(), DoSchedDlTriggerReq(), DoSchedUlTriggerReq(), and SetLteFfrSapProvider().
|
private |
Definition at line 250 of file cqa-ff-mac-scheduler.h.
Referenced by CqaFfMacScheduler(), DoDispose(), and GetLteFfrSapUser().
|
private |
Definition at line 196 of file cqa-ff-mac-scheduler.h.
Referenced by DoCschedLcConfigReq(), DoCschedUeReleaseReq(), and DoSchedDlTriggerReq().
|
private |
Definition at line 201 of file cqa-ff-mac-scheduler.h.
Referenced by DoCschedLcConfigReq(), DoCschedUeReleaseReq(), and DoSchedUlTriggerReq().
|
private |
m_harqOn when false inhibit te HARQ mechanisms (by default active)
Definition at line 269 of file cqa-ff-mac-scheduler.h.
Referenced by DoSchedDlTriggerReq(), DoSchedUlTriggerReq(), GetTypeId(), and UpdateHarqProcessId().
|
private |
Definition at line 259 of file cqa-ff-mac-scheduler.h.
Referenced by DoCschedUeReleaseReq(), and DoSchedUlTriggerReq().
|
private |
Definition at line 208 of file cqa-ff-mac-scheduler.h.
Referenced by DoSchedDlCqiInfoReq(), and RefreshDlCqiMaps().
|
private |
Definition at line 212 of file cqa-ff-mac-scheduler.h.
Referenced by DoSchedDlCqiInfoReq(), and RefreshDlCqiMaps().
|
private |
Definition at line 290 of file cqa-ff-mac-scheduler.h.
Referenced by DoCschedCellConfigReq(), DoSchedDlTriggerReq(), and DoSchedUlTriggerReq().
|
private |
Definition at line 289 of file cqa-ff-mac-scheduler.h.
Referenced by DoSchedDlRachInfoReq(), and DoSchedDlTriggerReq().
|
private |
Definition at line 190 of file cqa-ff-mac-scheduler.h.
Referenced by DoCschedLcReleaseReq(), DoCschedUeReleaseReq(), DoSchedDlRlcBufferReq(), DoSchedDlTriggerReq(), LcActivePerFlow(), and UpdateDlRlcBufferInfo().
|
private |
Definition at line 247 of file cqa-ff-mac-scheduler.h.
Referenced by CqaFfMacScheduler(), DoDispose(), and GetFfMacSchedSapProvider().
|
private |
Definition at line 245 of file cqa-ff-mac-scheduler.h.
Referenced by DoSchedDlTriggerReq(), DoSchedUlTriggerReq(), and SetFfMacSchedSapUser().
|
private |
Definition at line 257 of file cqa-ff-mac-scheduler.h.
Referenced by DoSchedDlTriggerReq(), and DoSchedUlTriggerReq().
|
private |
Definition at line 232 of file cqa-ff-mac-scheduler.h.
Referenced by DoSchedUlCqiInfoReq(), DoSchedUlTriggerReq(), EstimateUlSinr(), and RefreshUlCqiMaps().
|
private |
Definition at line 236 of file cqa-ff-mac-scheduler.h.
Referenced by DoSchedUlCqiInfoReq(), and RefreshUlCqiMaps().
|
private |
Definition at line 203 of file cqa-ff-mac-scheduler.h.
Referenced by DoCschedLcConfigReq(), DoCschedLcReleaseReq(), DoCschedUeReleaseReq(), and DoSchedDlTriggerReq().
|
private |
Definition at line 263 of file cqa-ff-mac-scheduler.h.
Referenced by DoCschedUeConfigReq(), DoCschedUeReleaseReq(), and DoSchedDlTriggerReq().
|
private |
Definition at line 291 of file cqa-ff-mac-scheduler.h.
Referenced by DoSchedDlTriggerReq(), and GetTypeId().
|
private |
Definition at line 280 of file cqa-ff-mac-scheduler.h.
Referenced by DoCschedUeConfigReq(), DoCschedUeReleaseReq(), DoDispose(), DoSchedDlTriggerReq(), and DoSchedUlTriggerReq().
|
private |
Definition at line 285 of file cqa-ff-mac-scheduler.h.
Referenced by DoCschedUeConfigReq(), DoCschedUeReleaseReq(), DoDispose(), DoSchedDlTriggerReq(), and DoSchedUlTriggerReq().
|
private |
Definition at line 284 of file cqa-ff-mac-scheduler.h.
Referenced by DoCschedUeConfigReq(), DoCschedUeReleaseReq(), DoDispose(), and DoSchedUlTriggerReq().