10#ifndef LTE_CCM_RRC_SAP_H
11#define LTE_CCM_RRC_SAP_H
22class LteUeCmacSapProvider;
24class LteEnbCmacSapProvider;
71 virtual void AddUe(uint16_t rnti, uint8_t state) = 0;
192 virtual void AddLcs(std::vector<LteEnbRrcSapProvider::LogicalChannelConfig> lcConfig) = 0;
233 void AddUe(uint16_t rnti, uint8_t state)
override;
235 void RemoveUe(uint16_t rnti)
override;
260 m_owner->DoReportUeMeas(rnti, measResults);
267 m_owner->DoAddUe(rnti, state);
274 m_owner->DoAddLc(lcInfo, msu);
281 m_owner->DoRemoveUe(rnti);
285std::vector<LteCcmRrcSapProvider::LcsConfig>
293 return m_owner->DoSetupDataRadioBearer(bearer, bearerId, rnti, lcid, lcGroup, msu);
300 return m_owner->DoReleaseDataRadioBearer(rnti, lcid);
308 return m_owner->DoConfigureSignalBearer(lcInfo, rlcMacSapUser);
324 void AddLcs(std::vector<LteEnbRrcSapProvider::LogicalChannelConfig> lcConfig)
override;
325 void ReleaseLcs(uint16_t rnti, uint8_t lcid)
override;
346 NS_FATAL_ERROR(
"Function should not be called because it is not implemented.");
354 NS_FATAL_ERROR(
"Function should not be called because it is not implemented.");
363 return m_owner->DoAddUeMeasReportConfigForComponentCarrier(reportConfig);
370 NS_FATAL_ERROR(
"Function should not be called because it is not implemented.");
377 return m_owner->GetUeManager(rnti);
384 return m_owner->DoSetNumberOfComponentCarriers(noOfComponentCarriers);
This class contains the specification of EPS Bearers.
Service Access Point (SAP) offered by the Component Carrier Manager (CCM) instance to the eNodeB RRC ...
virtual void ReportUeMeas(uint16_t rnti, LteRrcSap::MeasResults measResults)=0
Reports UE measurements to the component carrier manager.
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.
virtual void AddUe(uint16_t rnti, uint8_t state)=0
Add a new UE in the LteEnbComponentCarrierManager.
virtual LteMacSapUser * ConfigureSignalBearer(LteEnbCmacSapProvider::LcInfo lcInfo, LteMacSapUser *rlcMacSapUser)=0
Add the Signal Bearer for a specific Ue in LteEnbComponenCarrierManager.
virtual void AddLc(LteEnbCmacSapProvider::LcInfo lcInfo, LteMacSapUser *msu)=0
Add a new logical channel.
virtual ~LteCcmRrcSapProvider()
virtual void RemoveUe(uint16_t rnti)=0
Remove an existing UE.
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.
Service Access Point (SAP) offered by the eNodeB RRC instance to the component carrier manager (CCM) ...
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 Ptr< UeManager > GetUeManager(uint16_t rnti)=0
Get UE manager by RNTI.
virtual void ReleaseLcs(uint16_t rnti, uint8_t lcid)=0
remove an existing LC
virtual void SetNumberOfComponentCarriers(uint16_t noOfComponentCarriers)=0
Set the number of component carriers.
virtual ~LteCcmRrcSapUser()
virtual void AddLcs(std::vector< LteEnbRrcSapProvider::LogicalChannelConfig > lcConfig)=0
add a new Logical Channel (LC)
virtual void TriggerComponentCarrier(uint16_t rnti, uint16_t targetCellId)=0
Instruct the eNodeB RRC entity to prepare a component carrier.
The LTE Radio Resource Control entity at the eNB.
Service Access Point (SAP) offered by the MAC to the RLC See Femto Forum MAC Scheduler Interface Spec...
MemberLteCcmRrcSapProvider class.
std::vector< LteCcmRrcSapProvider::LcsConfig > SetupDataRadioBearer(EpsBearer bearer, uint8_t bearerId, uint16_t rnti, uint8_t lcid, uint8_t lcGroup, LteMacSapUser *msu) override
Add a new Bearer for the Ue in the LteEnbComponentCarrierManager.
MemberLteCcmRrcSapProvider(C *owner)
Constructor.
void ReportUeMeas(uint16_t rnti, LteRrcSap::MeasResults measResults) override
Reports UE measurements to the component carrier manager.
C * m_owner
the owner class
std::vector< uint8_t > ReleaseDataRadioBearer(uint16_t rnti, uint8_t lcid) override
Release an existing Data Radio Bearer for a Ue in the LteEnbComponentCarrierManager.
LteMacSapUser * ConfigureSignalBearer(LteEnbCmacSapProvider::LcInfo lcInfo, LteMacSapUser *rlcMacSapUser) override
Add the Signal Bearer for a specific Ue in LteEnbComponenCarrierManager.
void AddUe(uint16_t rnti, uint8_t state) override
Add a new UE in the LteEnbComponentCarrierManager.
void AddLc(LteEnbCmacSapProvider::LcInfo lcInfo, LteMacSapUser *msu) override
Add a new logical channel.
void RemoveUe(uint16_t rnti) override
Remove an existing UE.
MemberLteCcmRrcSapUser class.
Ptr< UeManager > GetUeManager(uint16_t rnti) override
Get UE manager by RNTI.
C * m_owner
the owner class
void TriggerComponentCarrier(uint16_t rnti, uint16_t targetCellId) override
Instruct the eNodeB RRC entity to prepare a component carrier.
void AddLcs(std::vector< LteEnbRrcSapProvider::LogicalChannelConfig > lcConfig) override
add a new Logical Channel (LC)
void SetNumberOfComponentCarriers(uint16_t noOfComponentCarriers) override
Set the number of component carriers.
uint8_t AddUeMeasReportConfigForComponentCarrier(LteRrcSap::ReportConfigEutra reportConfig) override
Request a certain reporting configuration to be fulfilled by the UEs attached to the eNodeB entity.
MemberLteCcmRrcSapUser(C *owner)
Constructor.
void ReleaseLcs(uint16_t rnti, uint8_t lcid) override
remove an existing LC
Smart pointer class similar to boost::intrusive_ptr.
Manages all the radio bearer information possessed by the ENB RRC for a single UE.
#define NS_FATAL_ERROR(msg)
Report a fatal error with a message and terminate.
Every class exported by the ns3 library is enclosed in the ns3 namespace.
uint16_t componentCarrierId
component carrier ID
LteEnbCmacSapProvider::LcInfo lc
LC info.
Logical Channel information to be passed to CmacSapProvider::ConfigureLc.
Specifies criteria for triggering of an E-UTRA measurement reporting event.