5G-LENA nr-v4.0
The 5G/NR module for the ns-3 simulator
Loading...
Searching...
No Matches
nr-simple-ue-component-carrier-manager.h
1// Copyright (c) 2015 Danilo Abrignani
2//
3// SPDX-License-Identifier: GPL-2.0-only
4//
5// Author: Danilo Abrignani <danilo.abrignani@unibo.it>
6//
8
9#ifndef NR_SIMPLE_UE_COMPONENT_CARRIER_MANAGER_H
10#define NR_SIMPLE_UE_COMPONENT_CARRIER_MANAGER_H
11
12#include "nr-rrc-sap.h"
13#include "nr-ue-ccm-rrc-sap.h"
14#include "nr-ue-component-carrier-manager.h"
15
16#include <map>
17
18namespace ns3
19{
20class NrUeCcmRrcSapProvider;
21
30{
31 public:
34
36
41 static TypeId GetTypeId();
42
43 // inherited from NrComponentCarrierManager
45
48 // friend class MemberNrUeCcmRrcSapUser<NrSimpleUeComponentCarrierManager>;
49
54
55 protected:
56 // inherited from Object
57 void DoInitialize() override;
58 void DoDispose() override;
59 // inherited from NrCcsAlgorithm as a Component Carrier Management SAP implementation
65 void DoReportUeMeas(uint16_t rnti, NrRrcSap::MeasResults measResults);
66 // forwarded from NrMacSapProvider
80 // forwarded from NrMacSapUser
93 // forwarded from NrUeCcmRrcSapProvider
101 virtual std::vector<NrUeCcmRrcSapProvider::LcsConfig> DoAddLc(
102 uint8_t lcId,
104 NrMacSapUser* msu);
110 std::vector<uint16_t> DoRemoveLc(uint8_t lcid);
119 uint8_t lcId,
121 NrMacSapUser* msu);
126 void DoReset();
127
128 protected:
131
132}; // end of class NrSimpleUeComponentCarrierManager
133
134} // end of namespace ns3
135
136#endif /* NR_SIMPLE_UE_COMPONENT_CARRIER_MANAGER_H */
MemberNrUeCcmRrcSapProvider class.
Component carrier manager implementation which simply does nothing.
void DoTransmitPdu(NrMacSapProvider::TransmitPduParameters params)
Transmit PDU function.
NrMacSapProvider * m_ccmMacSapProvider
Receive API calls from the UE RLC instance.
std::vector< uint16_t > DoRemoveLc(uint8_t lcid)
Remove LC function.
virtual NrMacSapUser * DoConfigureSignalBearer(uint8_t lcId, NrUeCmacSapProvider::LogicalChannelConfig lcConfig, NrMacSapUser *msu)
Configure signal bearer function.
NrMacSapUser * m_ccmMacSapUser
Interface to the UE RLC instance.
NrMacSapProvider * GetNrMacSapProvider() override
Returns the MAC sap provider interface that if forwarding calls to the instance of the NrUeComponentC...
void DoNotifyTxOpportunity(NrMacSapUser::TxOpportunityParameters txOpParams)
Notify TX opportunity function.
friend class NrSimpleUeCcmMacSapProvider
allow NrSimpleUeCcmMacSapProvider class friend access
NrSimpleUeComponentCarrierManager()
Creates a No-op CCS algorithm instance.
virtual void DoTransmitBufferStatusReport(NrMacSapProvider::BufferStatusReportParameters params)
Buffer status report function.
friend class NrSimpleUeCcmMacSapUser
allow NrSimpleUeCcmMacSapUser class friend access
void DoReceivePdu(NrMacSapUser::ReceivePduParameters rxPduParams)
Receive PDU function.
void DoReportUeMeas(uint16_t rnti, NrRrcSap::MeasResults measResults)
Report Ue Measure function.
virtual std::vector< NrUeCcmRrcSapProvider::LcsConfig > DoAddLc(uint8_t lcId, NrUeCmacSapProvider::LogicalChannelConfig lcConfig, NrMacSapUser *msu)
Add LC function.
The abstract base class of a Component Carrier Manager* for UE that operates using the component carr...
MeasResults structure.
Definition nr-rrc-sap.h:723