21 #ifndef LTE_CCM_RRC_SAP_H
22 #define LTE_CCM_RRC_SAP_H
33 class LteUeCmacSapProvider;
35 class LteEnbCmacSapProvider;
82 virtual void AddUe(uint16_t rnti, uint8_t state) = 0;
203 virtual void AddLcs(std::vector<LteEnbRrcSapProvider::LogicalChannelConfig> lcConfig) = 0;
244 void AddUe(uint16_t rnti, uint8_t state)
override;
246 void RemoveUe(uint16_t rnti)
override;
271 m_owner->DoReportUeMeas(rnti, measResults);
278 m_owner->DoAddUe(rnti, state);
285 m_owner->DoAddLc(lcInfo, msu);
292 m_owner->DoRemoveUe(rnti);
296 std::vector<LteCcmRrcSapProvider::LcsConfig>
304 return m_owner->DoSetupDataRadioBearer(bearer, bearerId, rnti, lcid, lcGroup, msu);
311 return m_owner->DoReleaseDataRadioBearer(rnti, lcid);
319 return m_owner->DoConfigureSignalBearer(lcInfo, rlcMacSapUser);
335 void AddLcs(std::vector<LteEnbRrcSapProvider::LogicalChannelConfig> lcConfig)
override;
336 void ReleaseLcs(uint16_t rnti, uint8_t lcid)
override;
357 NS_FATAL_ERROR(
"Function should not be called because it is not implemented.");
365 NS_FATAL_ERROR(
"Function should not be called because it is not implemented.");
374 return m_owner->DoAddUeMeasReportConfigForComponentCarrier(reportConfig);
381 NS_FATAL_ERROR(
"Function should not be called because it is not implemented.");
388 return m_owner->GetUeManager(rnti);
395 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 std::vector< uint8_t > ReleaseDataRadioBearer(uint16_t rnti, uint8_t lcid)=0
Release an existing Data Radio Bearer for a Ue in the LteEnbComponentCarrierManager.
virtual void ReportUeMeas(uint16_t rnti, LteRrcSap::MeasResults measResults)=0
Reports UE measurements to the component carrier manager.
virtual LteMacSapUser * ConfigureSignalBearer(LteEnbCmacSapProvider::LcInfo lcInfo, LteMacSapUser *rlcMacSapUser)=0
Add the Signal Bearer for a specific Ue in LteEnbComponenCarrierManager.
virtual void AddUe(uint16_t rnti, uint8_t state)=0
Add a new UE in the LteEnbComponentCarrierManager.
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< 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.
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 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 Ptr< UeManager > GetUeManager(uint16_t rnti)=0
Get UE manager by RNTI.
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.