|
A Discrete-Event Network Simulator
|
API
|
Go to the documentation of this file.
24 #include "ns3/lte-rrc-sap.h"
41 m_changePdschConfigDedicated (false),
44 m_accumulatedMode (false)
72 .AddConstructor<LteFfrSimple> ()
73 .AddAttribute (
"UlSubBandOffset",
74 "Uplink Offset in number of Resource Block Groups",
77 MakeUintegerChecker<uint8_t> ())
78 .AddAttribute (
"UlSubBandwidth",
79 "Uplink Transmission SubBandwidth Configuration in number of Resource Block Groups",
82 MakeUintegerChecker<uint8_t> ())
83 .AddAttribute (
"DlSubBandOffset",
84 "Downlink Offset in number of Resource Block Groups",
87 MakeUintegerChecker<uint8_t> ())
88 .AddAttribute (
"DlSubBandwidth",
89 "Downlink Transmission SubBandwidth Configuration in number of Resource Block Groups",
92 MakeUintegerChecker<uint8_t> ())
93 .AddTraceSource (
"ChangePdschConfigDedicated",
94 "trace fired upon change of PdschConfigDedicated",
96 "ns3::LteFfrSimple::PdschTracedCallback")
139 NS_LOG_LOGIC (
this <<
" requesting Event A4 measurements"
140 <<
" (threshold = 0" <<
")");
286 std::map<uint16_t, LteRrcSap::PdschConfigDedicated>::iterator it;
288 it =
m_ues.find (rnti);
290 if (it ==
m_ues.end ())
294 m_ues.insert (std::pair<uint16_t, LteRrcSap::PdschConfigDedicated> (rnti,
295 pdschConfigDedicated));
309 std::map<uint16_t, LteRrcSap::PdschConfigDedicated>::iterator it;
310 for (it =
m_ues.begin (); it !=
m_ues.end (); it++)
enum ns3::LteRrcSap::ReportConfigEutra::@5 reportInterval
Report interval enumeration.
a unique identifier for an interface.
#define NS_LOG_COMPONENT_DEFINE(name)
Define a Log component with a specific name.
void SetPdschConfigDedicated(LteRrcSap::PdschConfigDedicated pdschConfigDedicated)
Set PDSCH config dedicated function.
virtual uint16_t DoGetMinContinuousUlBandwidth()
DoGetMinContinuousUlBandwidth in number of RB.
virtual LteFfrRrcSapProvider * GetLteFfrRrcSapProvider()
Export the "provider" part of the LteFfrRrcSap interface.
uint8_t m_dlSubBand
DL subband.
@ EVENT_A1
Event A1: Serving becomes better than absolute threshold.
virtual bool DoIsUlRbgAvailableForUe(int i, uint16_t rnti)
Implementation of LteFfrSapProvider::IsUlRbgAvailableForUe.
#define NS_OBJECT_ENSURE_REGISTERED(type)
Register an Object subclass with the TypeId system.
Service Access Point (SAP) offered by the eNodeB RRC instance to the Frequency Reuse algorithm instan...
std::vector< bool > m_dlRbgMap
DL RBG map.
uint8_t range
Value range used in RSRP/RSRQ threshold.
Parameters of the SCHED_DL_CQI_INFO_REQ primitive.
Every class exported by the ns3 library is enclosed in the ns3 namespace.
std::map< uint16_t, LteRrcSap::PdschConfigDedicated > m_ues
UEs.
LteFfrRrcSapUser * m_ffrRrcSapUser
FFR RRC SAP user.
TracedCallback< uint16_t, uint8_t > m_changePdschConfigDedicatedTrace
PDSCH config dedicated change trace callback.
Parameters of the SCHED_UL_CQI_INFO_REQ primitive.
uint8_t m_ulSubBand
UL subband.
virtual std::vector< bool > DoGetAvailableUlRbg()
Implementation of LteFfrSapProvider::GetAvailableUlRbg.
LteFfrSapUser * m_ffrSapUser
FFR SAP user.
enum ns3::LteRrcSap::ThresholdEutra::@0 choice
Threshold enumeration.
ThresholdEutra threshold1
Threshold for event A1, A2, A4, and A5.
TypeId SetParent(TypeId tid)
Set the parent TypeId.
virtual void DoReportUlCqiInfo(const struct FfMacSchedSapProvider::SchedUlCqiInfoReqParameters ¶ms)
DoReportUlCqiInfo.
Ptr< const TraceSourceAccessor > MakeTraceSourceAccessor(T a)
Create a TraceSourceAccessor which will control access to the underlying trace source.
uint8_t m_ulBandwidth
uplink bandwidth in RBs
LteFfrSapProvider * m_ffrSapProvider
FFR SAP provider.
enum ns3::LteRrcSap::ReportConfigEutra::@2 eventId
Event enumeration.
PdschConfigDedicated structure.
void SetTpc(uint32_t tpc, uint32_t num, bool acculumatedMode)
Set transmission power control.
virtual bool DoIsDlRbgAvailableForUe(int i, uint16_t rnti)
Implementation of LteFfrSapProvider::IsDlRbgAvailableForUe.
virtual void SetLteFfrRrcSapUser(LteFfrRrcSapUser *s)
Set the "user" part of the LteFfrRrcSap interface that this frequency reuse algorithm instance will i...
Service Access Point (SAP) offered by the eNodeB RRC instance to the Frequency Reuse algorithm instan...
enum ns3::LteRrcSap::ReportConfigEutra::@3 triggerQuantity
Trigger type enumeration.
uint32_t m_tpc
transmission power control to be used
virtual uint8_t AddUeMeasReportConfigForFfr(LteRrcSap::ReportConfigEutra reportConfig)=0
Request a certain reporting configuration to be fulfilled by the UEs attached to the eNodeB entity.
virtual void DoReportDlCqiInfo(const struct FfMacSchedSapProvider::SchedDlCqiInfoReqParameters ¶ms)
DoReportDlCqiInfo.
virtual uint8_t DoGetTpc(uint16_t rnti)
DoGetTpc for UE.
Service Access Point (SAP) offered by the Frequency Reuse algorithm instance to the MAC Scheduler ins...
LteRrcSap::PdschConfigDedicated m_pdschConfigDedicated
PDSCH config dedicated.
Specifies criteria for triggering of an E-UTRA measurement reporting event.
uint8_t m_dlBandwidth
downlink bandwidth in RBs
@ RSRQ
Reference Signal Received Quality.
bool m_changePdschConfigDedicated
PDSCH config dedicate changed?
virtual void DoInitialize(void)
Initialize() implementation.
static TypeId GetTypeId()
Get the type ID.
virtual void DoReportUeMeas(uint16_t rnti, LteRrcSap::MeasResults measResults)
Implementation of LteFfrRrcSapProvider::ReportUeMeas.
void ChangePdschConfigDedicated(bool change)
Callback function that is used to be connected to trace ChangePdschConfigDedicated.
uint32_t m_tpcNum
number of TPC configurations
virtual LteFfrSapProvider * GetLteFfrSapProvider()
Export the "provider" part of the LteFfrSap interface.
virtual void SetPdschConfigDedicated(uint16_t rnti, LteRrcSap::PdschConfigDedicated pdschConfigDedicated)=0
Instruct the eNodeB RRC entity to perform RrcConnectionReconfiguration to inform UE about new PdschCo...
#define NS_LOG_LOGIC(msg)
Use NS_LOG to output a message of level LOG_LOGIC.
LteFfrRrcSapProvider * m_ffrRrcSapProvider
FFR RRC SAP provider.
friend class MemberLteFfrRrcSapProvider< LteFfrSimple >
let the forwarder class access the protected and private members
virtual void Reconfigure()
Automatic FR reconfiguration.
void UpdatePdschConfigDedicated()
Update PDSCH config dedicated function.
virtual void DoRecvLoadInformation(EpcX2Sap::LoadInformationParams params)
DoRecvLoadInformation.
friend class MemberLteFfrSapProvider< LteFfrSimple >
let the forwarder class access the protected and private members
virtual void DoDispose()
Destructor implementation.
uint8_t m_measId
measure ID
LteFfrSimple()
Creates a trivial ffr algorithm instance.
virtual void DoInitialize()
Initialize() implementation.
int GetRbgSize(int dlbandwidth)
Get RBG size for DL Bandwidth according to table 7.1.6.1-1 of 36.213.
virtual void SetLteFfrSapUser(LteFfrSapUser *s)
Set the "user" part of the LteFfrSap interface that this frequency reuse algorithm instance will inte...
The abstract base class of a Frequency Reuse algorithm.
#define NS_LOG_FUNCTION(parameters)
If log level LOG_FUNCTION is enabled, this macro will output all input parameters separated by ",...
virtual std::vector< bool > DoGetAvailableDlRbg()
Implementation of LteFfrSapProvider::GetAvailableDlRbg.
std::vector< bool > m_ulRbgMap
UL RBG map.
Hold an unsigned integer type.
Ptr< const AttributeAccessor > MakeUintegerAccessor(T1 a1)
Create an AttributeAccessor for a class data member, or a lone class get functor or set method.
uint8_t m_dlOffset
DL offset.
@ THRESHOLD_RSRQ
RSRQ is used for the threshold.
Service Access Point (SAP) offered by the Frequency Reuse algorithm instance to the eNodeB RRC instan...
bool m_accumulatedMode
whether to use the TPC accumulated mode
uint8_t m_ulOffset
UL offset.