A Discrete-Event Network Simulator
API
no-op-component-carrier-manager.h
Go to the documentation of this file.
1 /* -*- Mode: C++; c-file-style: "gnu"; indent-tabs-mode:nil; -*- */
2 /*
3  * Copyright (c) 2015 Danilo Abrignani
4  * Copyright (c) 2016 Centre Tecnologic de Telecomunicacions de Catalunya (CTTC)
5  *
6  * This program is free software; you can redistribute it and/or modify
7  * it under the terms of the GNU General Public License version 2 as
8  * published by the Free Software Foundation;
9  *
10  * This program is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13  * GNU General Public License for more details.
14  *
15  * You should have received a copy of the GNU General Public License
16  * along with this program; if not, write to the Free Software
17  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18  *
19  * Authors: Danilo Abrignani <danilo.abrignani@unibo.it>
20  * Biljana Bojovic <biljana.bojovic@cttc.es>
21  */
22 
23 #ifndef NO_OP_COMPONENT_CARRIER_MANAGER_H
24 #define NO_OP_COMPONENT_CARRIER_MANAGER_H
25 
26 #include <ns3/lte-enb-component-carrier-manager.h>
27 #include <ns3/lte-ccm-rrc-sap.h>
28 #include <ns3/lte-rrc-sap.h>
29 #include <map>
30 
31 namespace ns3 {
32 
33 class UeManager;
35 
44 {
53 
54 public:
55 
62  static TypeId GetTypeId ();
63 
64 protected:
65  // Inherited methods
66  virtual void DoInitialize ();
67  virtual void DoDispose ();
68  virtual void DoReportUeMeas (uint16_t rnti, LteRrcSap::MeasResults measResults);
74  virtual void DoAddUe (uint16_t rnti, uint8_t state);
80  virtual void DoAddLc (LteEnbCmacSapProvider::LcInfo lcInfo, LteMacSapUser* msu);
91  virtual std::vector<LteCcmRrcSapProvider::LcsConfig> DoSetupDataRadioBearer (EpsBearer bearer, uint8_t bearerId, uint16_t rnti, uint8_t lcid, uint8_t lcGroup, LteMacSapUser* msu);
113  virtual void DoReceivePdu (LteMacSapUser::ReceivePduParameters rxPduParams);
115  virtual void DoNotifyHarqDeliveryFailure ();
120  virtual void DoRemoveUe (uint16_t rnti);
127  virtual std::vector<uint8_t> DoReleaseDataRadioBearer (uint16_t rnti, uint8_t lcid);
140  virtual void DoUlReceiveMacCe (MacCeListElement_s bsr, uint8_t componentCarrierId);
146  virtual void DoUlReceiveSr (uint16_t rnti, uint8_t componentCarrierId);
153  virtual void DoNotifyPrbOccupancy (double prbOccupancy, uint8_t componentCarrierId);
154 
155 protected:
156 
157  std::map <uint8_t, double > m_ccPrbOccupancy;
158 
159 }; // end of class NoOpComponentCarrierManager
160 
161 
166 {
167 public:
168 
170  virtual ~RrComponentCarrierManager () override;
175  static TypeId GetTypeId ();
176 
177 protected:
178 
179  // Inherited methods
181  virtual void DoUlReceiveMacCe (MacCeListElement_s bsr, uint8_t componentCarrierId) override;
182  virtual void DoUlReceiveSr (uint16_t rnti, uint8_t componentCarrierId) override;
183 
184 private:
185  uint8_t m_lastCcIdForSr {0};
186 }; // end of class RrComponentCarrierManager
187 
188 } // end of namespace ns3
189 
190 
191 #endif /* NO_OP_COMPONENT_CARRIER_MANAGER_H */
EnbMacMemberLteMacSapProvider class.
Definition: lte-mac-sap.h:191
This class contains the specification of EPS Bearers.
Definition: eps-bearer.h:92
Service Access Point (SAP) offered by the Component Carrier Manager (CCM) instance to the eNodeB RRC ...
The class implements Component Carrier Manager (CCM) that operates using the Component Carrier Manage...
Service Access Point (SAP) offered by the MAC to the RLC See Femto Forum MAC Scheduler Interface Spec...
Definition: lte-mac-sap.h:96
MemberLteCcmMacSapUser class.
MemberLteCcmRrcSapProvider class.
MemberLteCcmRrcSapUser class.
The default component carrier manager that forwards all traffic, the uplink and the downlink,...
virtual LteMacSapUser * DoConfigureSignalBearer(LteEnbCmacSapProvider::LcInfo lcinfo, LteMacSapUser *msu)
Configure the signal bearer.
virtual void DoNotifyPrbOccupancy(double prbOccupancy, uint8_t componentCarrierId)
Function implements the function of the SAP interface of CCM instance which is used by MAC to notify ...
virtual void DoTransmitPdu(LteMacSapProvider::TransmitPduParameters params)
Transmit PDU.
virtual void DoReportBufferStatus(LteMacSapProvider::ReportBufferStatusParameters params)
Report buffer status.
virtual void DoAddLc(LteEnbCmacSapProvider::LcInfo lcInfo, LteMacSapUser *msu)
Add LC.
virtual void DoRemoveUe(uint16_t rnti)
Remove UE.
virtual void DoDispose()
Destructor implementation.
std::map< uint8_t, double > m_ccPrbOccupancy
The physical resource block occupancy per carrier.
virtual void DoAddUe(uint16_t rnti, uint8_t state)
Add UE.
virtual void DoNotifyTxOpportunity(LteMacSapUser::TxOpportunityParameters txOpParams)
Notify transmit opportunity.
virtual void DoUlReceiveSr(uint16_t rnti, uint8_t componentCarrierId)
Forward uplink SR to CCM, called by MAC through CCM SAP interface.
virtual void DoInitialize()
Initialize() implementation.
virtual void DoUlReceiveMacCe(MacCeListElement_s bsr, uint8_t componentCarrierId)
Forwards uplink BSR to CCM, called by MAC through CCM SAP interface.
virtual std::vector< uint8_t > DoReleaseDataRadioBearer(uint16_t rnti, uint8_t lcid)
Release data radio bearer.
virtual void DoReceivePdu(LteMacSapUser::ReceivePduParameters rxPduParams)
Receive PDU.
virtual std::vector< LteCcmRrcSapProvider::LcsConfig > DoSetupDataRadioBearer(EpsBearer bearer, uint8_t bearerId, uint16_t rnti, uint8_t lcid, uint8_t lcGroup, LteMacSapUser *msu)
Setup data radio bearer.
virtual void DoReportUeMeas(uint16_t rnti, LteRrcSap::MeasResults measResults)
Implementation of ReportUeMeas.
virtual void DoNotifyHarqDeliveryFailure()
Notify HARQ delivery failure.
Component carrier manager implementation that splits traffic equally among carriers.
virtual void DoUlReceiveMacCe(MacCeListElement_s bsr, uint8_t componentCarrierId) override
Forwards uplink BSR to CCM, called by MAC through CCM SAP interface.
static TypeId GetTypeId()
Get the type ID.
virtual void DoUlReceiveSr(uint16_t rnti, uint8_t componentCarrierId) override
Forward uplink SR to CCM, called by MAC through CCM SAP interface.
uint8_t m_lastCcIdForSr
Last CCID to which a SR was routed.
virtual void DoReportBufferStatus(LteMacSapProvider::ReportBufferStatusParameters params) override
Report buffer status.
a unique identifier for an interface.
Definition: type-id.h:59
Manages all the radio bearer information possessed by the ENB RRC for a single UE.
Definition: lte-enb-rrc.h:75
Every class exported by the ns3 library is enclosed in the ns3 namespace.
Logical Channel information to be passed to CmacSapProvider::ConfigureLc.
Parameters for LteMacSapProvider::ReportBufferStatus.
Definition: lte-mac-sap.h:68
Parameters for LteMacSapProvider::TransmitPdu.
Definition: lte-mac-sap.h:46
Parameters for LteMacSapUser::ReceivePdu.
Definition: lte-mac-sap.h:157
Parameters for LteMacSapUser::NotifyTxOpportunity.
Definition: lte-mac-sap.h:104
MeasResults structure.
Definition: lte-rrc-sap.h:680
See section 4.3.14 macCEListElement.