20#ifndef FF_MAC_SCHED_SAP_H
21#define FF_MAC_SCHED_SAP_H
68 std::vector<struct VendorSpecificListElement_s>
81 std::vector<struct VendorSpecificListElement_s>
94 std::vector<struct VendorSpecificListElement_s>
107 std::vector<struct VendorSpecificListElement_s>
120 std::vector<struct VendorSpecificListElement_s>
133 std::vector<struct VendorSpecificListElement_s>
146 std::vector<struct VendorSpecificListElement_s>
160 std::vector<struct VendorSpecificListElement_s>
173 std::vector<struct VendorSpecificListElement_s>
186 std::vector<struct VendorSpecificListElement_s>
199 std::vector<struct VendorSpecificListElement_s>
307 std::vector<struct BuildBroadcastListElement_s>
312 std::vector<struct VendorSpecificListElement_s>
325 std::vector<struct VendorSpecificListElement_s>
389 : m_scheduler(scheduler)
397 m_scheduler->DoSchedDlRlcBufferReq(params);
405 m_scheduler->DoSchedDlPagingBufferReq(params);
412 m_scheduler->DoSchedDlMacBufferReq(params);
419 m_scheduler->DoSchedDlTriggerReq(params);
426 m_scheduler->DoSchedDlRachInfoReq(params);
433 m_scheduler->DoSchedDlCqiInfoReq(params);
440 m_scheduler->DoSchedUlTriggerReq(params);
448 m_scheduler->DoSchedUlNoiseInterferenceReq(params);
455 m_scheduler->DoSchedUlSrInfoReq(params);
463 m_scheduler->DoSchedUlMacCtrlInfoReq(params);
470 m_scheduler->DoSchedUlCqiInfoReq(params);
virtual void SchedUlMacCtrlInfoReq(const struct SchedUlMacCtrlInfoReqParameters ¶ms)=0
SCHED_UL_MAC_CTRL_INFO_REQ.
virtual void SchedUlNoiseInterferenceReq(const struct SchedUlNoiseInterferenceReqParameters ¶ms)=0
SCHED_UL_NOISE_INTERFERENCE_REQ.
virtual void SchedDlRlcBufferReq(const struct SchedDlRlcBufferReqParameters ¶ms)=0
SCHED_DL_RLC_BUFFER_REQ.
virtual void SchedUlSrInfoReq(const struct SchedUlSrInfoReqParameters ¶ms)=0
SCHED_UL_SR_INFO_REQ.
virtual void SchedUlTriggerReq(const struct SchedUlTriggerReqParameters ¶ms)=0
SCHED_UL_TRIGGER_REQ.
virtual void SchedUlCqiInfoReq(const struct SchedUlCqiInfoReqParameters ¶ms)=0
SCHED_UL_CQI_INFO_REQ.
virtual void SchedDlMacBufferReq(const struct SchedDlMacBufferReqParameters ¶ms)=0
SCHED_DL_MAC_BUFFER_REQ.
virtual void SchedDlPagingBufferReq(const struct SchedDlPagingBufferReqParameters ¶ms)=0
SCHED_DL_PAGING_BUFFER_REQ.
virtual void SchedDlTriggerReq(const struct SchedDlTriggerReqParameters ¶ms)=0
SCHED_DL_TRIGGER_REQ.
virtual void SchedDlRachInfoReq(const struct SchedDlRachInfoReqParameters ¶ms)=0
SCHED_DL_RACH_INFO_REQ.
virtual ~FfMacSchedSapProvider()
virtual void SchedDlCqiInfoReq(const struct SchedDlCqiInfoReqParameters ¶ms)=0
SCHED_DL_CQI_INFO_REQ.
virtual ~FfMacSchedSapUser()
virtual void SchedUlConfigInd(const struct SchedUlConfigIndParameters ¶ms)=0
SCHED_UL_CONFIG_IND.
virtual void SchedDlConfigInd(const struct SchedDlConfigIndParameters ¶ms)=0
SCHED_DL_CONFIG_IND.
MemberSchedSapProvider class.
C * m_scheduler
the scheduler class
void SchedUlTriggerReq(const struct SchedUlTriggerReqParameters ¶ms) override
SCHED_UL_TRIGGER_REQ.
void SchedDlMacBufferReq(const struct SchedDlMacBufferReqParameters ¶ms) override
SCHED_DL_MAC_BUFFER_REQ.
void SchedDlPagingBufferReq(const struct SchedDlPagingBufferReqParameters ¶ms) override
SCHED_DL_PAGING_BUFFER_REQ.
void SchedUlSrInfoReq(const struct SchedUlSrInfoReqParameters ¶ms) override
SCHED_UL_SR_INFO_REQ.
void SchedDlRlcBufferReq(const struct SchedDlRlcBufferReqParameters ¶ms) override
SCHED_DL_RLC_BUFFER_REQ.
void SchedDlTriggerReq(const struct SchedDlTriggerReqParameters ¶ms) override
SCHED_DL_TRIGGER_REQ.
void SchedDlCqiInfoReq(const struct SchedDlCqiInfoReqParameters ¶ms) override
SCHED_DL_CQI_INFO_REQ.
void SchedUlNoiseInterferenceReq(const struct SchedUlNoiseInterferenceReqParameters ¶ms) override
SCHED_UL_NOISE_INTERFERENCE_REQ.
void SchedDlRachInfoReq(const struct SchedDlRachInfoReqParameters ¶ms) override
SCHED_DL_RACH_INFO_REQ.
void SchedUlMacCtrlInfoReq(const struct SchedUlMacCtrlInfoReqParameters ¶ms) override
SCHED_UL_MAC_CTRL_INFO_REQ.
void SchedUlCqiInfoReq(const struct SchedUlCqiInfoReqParameters ¶ms) override
SCHED_UL_CQI_INFO_REQ.
Every class exported by the ns3 library is enclosed in the ns3 namespace.
Parameters of the SCHED_DL_CQI_INFO_REQ primitive.
std::vector< struct CqiListElement_s > m_cqiList
CQI list.
std::vector< struct VendorSpecificListElement_s > m_vendorSpecificList
vendor specific list
Parameters of the SCHED_DL_MAC_BUFFER_REQ primitive.
enum CeBitmap_e m_ceBitmap
CE bitmap.
std::vector< struct VendorSpecificListElement_s > m_vendorSpecificList
vendor specific list
Parameters of the SCHED_DL_PAGING_BUFFER_REQ primitive.
std::vector< struct VendorSpecificListElement_s > m_vendorSpecificList
vendor specific list
std::vector< struct PagingInfoListElement_s > m_pagingInfoList
paging info list
Parameters of the SCHED_DL_RACH_INFO_REQ primitive.
std::vector< struct RachListElement_s > m_rachList
RACH list.
std::vector< struct VendorSpecificListElement_s > m_vendorSpecificList
vendor specific list
Parameters of the API primitives.
uint8_t m_logicalChannelIdentity
logical channel identity
uint16_t m_rlcRetransmissionHolDelay
RLC retransmission HOL delay.
uint32_t m_rlcRetransmissionQueueSize
RLC retransmission queue size.
uint16_t m_rlcStatusPduSize
RLC status PDU size.
std::vector< struct VendorSpecificListElement_s > m_vendorSpecificList
vendor specific list
uint16_t m_rlcTransmissionQueueHolDelay
RLC transmission queue HOL delay.
uint32_t m_rlcTransmissionQueueSize
RLC transmission queue size.
Parameters of the SCHED_DL_TRIGGER_REQ primitive.
std::vector< struct VendorSpecificListElement_s > m_vendorSpecificList
vendor specific list
std::vector< struct DlInfoListElement_s > m_dlInfoList
DL info list.
Parameters of the SCHED_UL_CQI_INFO_REQ primitive.
std::vector< struct VendorSpecificListElement_s > m_vendorSpecificList
vendor specific list
struct UlCqi_s m_ulCqi
UL CQI.
Parameters of the SCHED_UL_MAC_CTRL_INFO_REQ primitive.
std::vector< struct VendorSpecificListElement_s > m_vendorSpecificList
vendor specific list
std::vector< struct MacCeListElement_s > m_macCeList
MAC CE list.
Parameters of the SCHED_UL_NOISE_INTERFERENCE_REQ primitive.
std::vector< struct VendorSpecificListElement_s > m_vendorSpecificList
vendor specific list
Parameters of the SCHED_UL_SR_INFO_REQ primitive.
std::vector< struct VendorSpecificListElement_s > m_vendorSpecificList
vendor specific list
std::vector< struct SrListElement_s > m_srList
SR list.
Parameters of the SCHED_UL_TRIGGER_REQ primitive.
std::vector< struct UlInfoListElement_s > m_ulInfoList
UL info list.
std::vector< struct VendorSpecificListElement_s > m_vendorSpecificList
vendor specific list
Parameters of the API primitives.
uint8_t m_nrOfPdcchOfdmSymbols
number of PDCCH OFDM symbols
std::vector< struct BuildDataListElement_s > m_buildDataList
build data list
std::vector< struct VendorSpecificListElement_s > m_vendorSpecificList
vendor specific list
std::vector< struct BuildBroadcastListElement_s > m_buildBroadcastList
build broadcast list
std::vector< struct BuildRarListElement_s > m_buildRarList
build rar list
Parameters of the SCHED_UL_CONFIG_IND primitive.
std::vector< struct VendorSpecificListElement_s > m_vendorSpecificList
vendor specific list
std::vector< struct PhichListElement_s > m_phichList
PHICH list.
std::vector< struct UlDciListElement_s > m_dciList
DCI list.
See section 4.3.29 ulCQI.