7#ifndef NR_CCM_RRC_SAP_H
8#define NR_CCM_RRC_SAP_H
10#include "nr-eps-bearer.h"
11#include "nr-gnb-cmac-sap.h"
12#include "nr-mac-sap.h"
13#include "nr-rrc-sap.h"
19class NrUeCmacSapProvider;
21class NrGnbCmacSapProvider;
68 virtual void AddUe(uint16_t rnti, uint8_t state) = 0;
188 virtual void AddLcs(std::vector<NrGnbRrcSapProvider::LogicalChannelConfig> lcConfig) = 0;
229 void AddUe(uint16_t rnti, uint8_t state)
override;
231 void RemoveUe(uint16_t rnti)
override;
256 m_owner->DoReportUeMeas(rnti, measResults);
263 m_owner->DoAddUe(rnti, state);
270 m_owner->DoAddLc(lcInfo, msu);
277 m_owner->DoRemoveUe(rnti);
281std::vector<NrCcmRrcSapProvider::LcsConfig>
289 return m_owner->DoSetupDataRadioBearer(bearer, bearerId, rnti, lcid, lcGroup, msu);
296 return m_owner->DoReleaseDataRadioBearer(rnti, lcid);
304 return m_owner->DoConfigureSignalBearer(lcInfo, rlcMacSapUser);
320 void AddLcs(std::vector<NrGnbRrcSapProvider::LogicalChannelConfig> lcConfig)
override;
321 void ReleaseLcs(uint16_t rnti, uint8_t lcid)
override;
342 NS_FATAL_ERROR(
"Function should not be called because it is not implemented.");
350 NS_FATAL_ERROR(
"Function should not be called because it is not implemented.");
359 return m_owner->DoAddUeMeasReportConfigForComponentCarrier(reportConfig);
366 NS_FATAL_ERROR(
"Function should not be called because it is not implemented.");
373 return m_owner->GetUeManager(rnti);
380 return m_owner->DoSetNumberOfComponentCarriers(noOfComponentCarriers);
MemberNrCcmRrcSapProvider class.
std::vector< NrCcmRrcSapProvider::LcsConfig > SetupDataRadioBearer(NrEpsBearer bearer, uint8_t bearerId, uint16_t rnti, uint8_t lcid, uint8_t lcGroup, NrMacSapUser *msu) override
Add a new Bearer for the Ue in the NrGnbComponentCarrierManager.
MemberNrCcmRrcSapProvider(C *owner)
void RemoveUe(uint16_t rnti) override
Remove an existing UE.
std::vector< uint8_t > ReleaseDataRadioBearer(uint16_t rnti, uint8_t lcid) override
Release an existing Data Radio Bearer for a Ue in the NrGnbComponentCarrierManager.
void ReportUeMeas(uint16_t rnti, NrRrcSap::MeasResults measResults) override
Reports UE measurements to the component carrier manager.
void AddLc(NrGnbCmacSapProvider::LcInfo lcInfo, NrMacSapUser *msu) override
Add a new logical channel.
NrMacSapUser * ConfigureSignalBearer(NrGnbCmacSapProvider::LcInfo lcInfo, NrMacSapUser *rlcMacSapUser) override
Add the Signal Bearer for a specific Ue in NrGnbComponenCarrierManager.
void AddUe(uint16_t rnti, uint8_t state) override
Add a new UE in the NrGnbComponentCarrierManager.
MemberNrCcmRrcSapUser class.
uint8_t AddUeMeasReportConfigForComponentCarrier(NrRrcSap::ReportConfigEutra reportConfig) override
Request a certain reporting configuration to be fulfilled by the UEs attached to the eNodeB entity.
void SetNumberOfComponentCarriers(uint16_t noOfComponentCarriers) override
Set the number of component carriers.
void ReleaseLcs(uint16_t rnti, uint8_t lcid) override
void TriggerComponentCarrier(uint16_t rnti, uint16_t targetCellId) override
Instruct the eNodeB RRC entity to prepare a component carrier.
MemberNrCcmRrcSapUser(C *owner)
Ptr< NrUeManager > GetUeManager(uint16_t rnti) override
void AddLcs(std::vector< NrGnbRrcSapProvider::LogicalChannelConfig > lcConfig) override
Service Access Point (SAP) offered by the Component Carrier Manager (CCM) instance to the eNodeB RRC ...
virtual void AddLc(NrGnbCmacSapProvider::LcInfo lcInfo, NrMacSapUser *msu)=0
Add a new logical channel.
virtual void RemoveUe(uint16_t rnti)=0
Remove an existing UE.
virtual NrMacSapUser * ConfigureSignalBearer(NrGnbCmacSapProvider::LcInfo lcInfo, NrMacSapUser *rlcMacSapUser)=0
Add the Signal Bearer for a specific Ue in NrGnbComponenCarrierManager.
virtual std::vector< uint8_t > ReleaseDataRadioBearer(uint16_t rnti, uint8_t lcid)=0
Release an existing Data Radio Bearer for a Ue in the NrGnbComponentCarrierManager.
virtual std::vector< NrCcmRrcSapProvider::LcsConfig > SetupDataRadioBearer(NrEpsBearer bearer, uint8_t bearerId, uint16_t rnti, uint8_t lcid, uint8_t lcGroup, NrMacSapUser *msu)=0
Add a new Bearer for the Ue in the NrGnbComponentCarrierManager.
virtual void ReportUeMeas(uint16_t rnti, NrRrcSap::MeasResults measResults)=0
Reports UE measurements to the component carrier manager.
virtual void AddUe(uint16_t rnti, uint8_t state)=0
Add a new UE in the NrGnbComponentCarrierManager.
Service Access Point (SAP) offered by the eNodeB RRC instance to the component carrier manager (CCM) ...
virtual Ptr< NrUeManager > GetUeManager(uint16_t rnti)=0
virtual void ReleaseLcs(uint16_t rnti, uint8_t lcid)=0
virtual void SetNumberOfComponentCarriers(uint16_t noOfComponentCarriers)=0
Set the number of component carriers.
virtual uint8_t AddUeMeasReportConfigForComponentCarrier(NrRrcSap::ReportConfigEutra reportConfig)=0
Request a certain reporting configuration to be fulfilled by the UEs attached to the eNodeB entity.
virtual void AddLcs(std::vector< NrGnbRrcSapProvider::LogicalChannelConfig > lcConfig)=0
virtual void TriggerComponentCarrier(uint16_t rnti, uint16_t targetCellId)=0
Instruct the eNodeB RRC entity to prepare a component carrier.
This class contains the specification of EPS Bearers.
uint16_t componentCarrierId
component carrier ID
NrGnbCmacSapProvider::LcInfo lc
LC info.
Specifies criteria for triggering of an E-UTRA measurement reporting event.