22 #ifndef LTE_CCM_RRC_SAP_H 23 #define LTE_CCM_RRC_SAP_H 25 #include <ns3/lte-rrc-sap.h> 26 #include <ns3/eps-bearer.h> 27 #include <ns3/lte-enb-cmac-sap.h> 28 #include <ns3/lte-mac-sap.h> 33 class LteUeCmacSapProvider;
35 class LteEnbCmacSapProvider;
84 virtual void AddUe (uint16_t rnti, uint8_t state) = 0;
99 virtual void RemoveUe (uint16_t rnti) = 0;
196 virtual void AddLcs (std::vector<LteEnbRrcSapProvider::LogicalChannelConfig> lcConfig) = 0;
204 virtual void ReleaseLcs (uint16_t rnti, uint8_t lcid) = 0;
230 virtual void AddUe (uint16_t rnti, uint8_t state);
232 virtual void RemoveUe (uint16_t rnti);
250 m_owner->DoReportUeMeas (rnti, measResults);
256 m_owner->DoAddUe (rnti, state);
262 m_owner->DoAddLc (lcInfo, msu);
268 m_owner->DoRemoveUe (rnti);
274 return m_owner->DoSetupDataRadioBearer (bearer, bearerId, rnti, lcid, lcGroup, msu);
280 return m_owner->DoReleaseDataRadioBearer (rnti, lcid);
286 return m_owner->DoConfigureSignalBearer (lcInfo, rlcMacSapUser);
303 virtual void AddLcs (std::vector<LteEnbRrcSapProvider::LogicalChannelConfig> lcConfig);
304 virtual void ReleaseLcs (uint16_t rnti, uint8_t lcid);
322 NS_FATAL_ERROR (
"Function should not be called because it is not implemented.");
329 NS_FATAL_ERROR (
"Function should not be called because it is not implemented.");
338 return m_owner->DoAddUeMeasReportConfigForComponentCarrier (reportConfig);
346 NS_FATAL_ERROR (
"Function should not be called because it is not implemented.");
353 return m_owner->GetUeManager (rnti);
virtual Ptr< UeManager > GetUeManager(uint16_t rnti)=0
Get UE manager by RNTI.
virtual std::vector< uint8_t > ReleaseDataRadioBearer(uint16_t rnti, uint8_t lcid)=0
Release an existing Data Radio Bearer for a Ue in the LteEnbComponentCarrierManager.
Smart pointer class similar to boost::intrusive_ptr.
virtual std::vector< LteCcmRrcSapProvider::LcsConfig > SetupDataRadioBearer(EpsBearer bearer, uint8_t bearerId, uint16_t rnti, uint8_t lcid, uint8_t lcGroup, LteMacSapUser *msu)=0
Add a new Bearer for the Ue in the LteEnbComponentCarrierManager.
Specifies criteria for triggering of an E-UTRA measurement reporting event.
virtual void RemoveUe(uint16_t rnti)=0
Remove an existing UE.
virtual LteMacSapUser * ConfigureSignalBearer(LteEnbCmacSapProvider::LcInfo lcInfo, LteMacSapUser *rlcMacSapUser)=0
Add the Signal Bearer for a specific Ue in LteEnbComponenCarrierManager.
The LTE Radio Resource Control entity at the eNB.
#define NS_FATAL_ERROR(msg)
Report a fatal error with a message and terminate.
virtual void TriggerComponentCarrier(uint16_t rnti, uint16_t targetCellId)
Instruct the eNodeB RRC entity to prepare a component carrier.
virtual void ReportUeMeas(uint16_t rnti, LteRrcSap::MeasResults measResults)=0
Reports UE measurements to the component carrier manager.
MemberLteCcmRrcSapUser class.
virtual uint8_t AddUeMeasReportConfigForComponentCarrier(LteRrcSap::ReportConfigEutra reportConfig)=0
Request a certain reporting configuration to be fulfilled by the UEs attached to the eNodeB entity...
virtual ~LteCcmRrcSapUser()
virtual ~LteCcmRrcSapProvider()
virtual void AddLc(LteEnbCmacSapProvider::LcInfo lcInfo, LteMacSapUser *msu)
Add a new logical channel.
uint16_t componentCarrierId
component carrier ID
MemberLteCcmRrcSapProvider(C *owner)
Constructor.
This class contains the specification of EPS Bearers.
Logical Channel information to be passed to CmacSapProvider::ConfigureLc.
virtual void ReleaseLcs(uint16_t rnti, uint8_t lcid)=0
remove an existing LC
virtual void ReportUeMeas(uint16_t rnti, LteRrcSap::MeasResults measResults)
Reports UE measurements to the component carrier manager.
MemberLteCcmRrcSapUser(C *owner)
Constructor.
virtual Ptr< UeManager > GetUeManager(uint16_t rnti)
Get UE manager by RNTI.
C * m_owner
the owner class
virtual std::vector< LteCcmRrcSapProvider::LcsConfig > SetupDataRadioBearer(EpsBearer bearer, uint8_t bearerId, uint16_t rnti, uint8_t lcid, uint8_t lcGroup, LteMacSapUser *msu)
Add a new Bearer for the Ue in the LteEnbComponentCarrierManager.
C * m_owner
the owner class
virtual void TriggerComponentCarrier(uint16_t rnti, uint16_t targetCellId)=0
Instruct the eNodeB RRC entity to prepare a component carrier.
MemberLteCcmRrcSapProvider class.
Every class exported by the ns3 library is enclosed in the ns3 namespace.
Manages all the radio bearer information possessed by the ENB RRC for a single UE.
virtual uint8_t AddUeMeasReportConfigForComponentCarrier(LteRrcSap::ReportConfigEutra reportConfig)
Request a certain reporting configuration to be fulfilled by the UEs attached to the eNodeB entity...
virtual void AddUe(uint16_t rnti, uint8_t state)=0
Add a new UE in the LteEnbComponentCarrierManager.
virtual std::vector< uint8_t > ReleaseDataRadioBearer(uint16_t rnti, uint8_t lcid)
Release an existing Data Radio Bearer for a Ue in the LteEnbComponentCarrierManager.
virtual void RemoveUe(uint16_t rnti)
Remove an existing UE.
virtual void AddUe(uint16_t rnti, uint8_t state)
Add a new UE in the LteEnbComponentCarrierManager.
Service Access Point (SAP) offered by the MAC to the RLC See Femto Forum MAC Scheduler Interface Spec...
Service Access Point (SAP) offered by the Component Carrier Manager (CCM) instance to the eNodeB RRC ...
virtual void AddLc(LteEnbCmacSapProvider::LcInfo lcInfo, LteMacSapUser *msu)=0
Add a new logical channel.
LteEnbCmacSapProvider::LcInfo lc
LC info.
Service Access Point (SAP) offered by the eNodeB RRC instance to the component carrier manager (CCM) ...
virtual void AddLcs(std::vector< LteEnbRrcSapProvider::LogicalChannelConfig > lcConfig)
add a new Logical Channel (LC)
virtual void ReleaseLcs(uint16_t rnti, uint8_t lcid)
remove an existing LC
virtual void AddLcs(std::vector< LteEnbRrcSapProvider::LogicalChannelConfig > lcConfig)=0
add a new Logical Channel (LC)
virtual LteMacSapUser * ConfigureSignalBearer(LteEnbCmacSapProvider::LcInfo lcInfo, LteMacSapUser *rlcMacSapUser)
Add the Signal Bearer for a specific Ue in LteEnbComponenCarrierManager.