A Discrete-Event Network Simulator
API
simple-ue-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  *
5  * This program is free software; you can redistribute it and/or modify
6  * it under the terms of the GNU General Public License version 2 as
7  * published by the Free Software Foundation;
8  *
9  * This program is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12  * GNU General Public License for more details.
13  *
14  * You should have received a copy of the GNU General Public License
15  * along with this program; if not, write to the Free Software
16  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
17  *
18  * Author: Danilo Abrignani <danilo.abrignani@unibo.it>
19  *
20  */
21 
22 #ifndef SIMPLE_UE_COMPONENT_CARRIER_MANAGER_H
23 #define SIMPLE_UE_COMPONENT_CARRIER_MANAGER_H
24 
25 #include <ns3/lte-ue-component-carrier-manager.h>
26 #include <ns3/lte-ue-ccm-rrc-sap.h>
27 #include <ns3/lte-rrc-sap.h>
28 #include <map>
29 
30 namespace ns3 {
31  class LteUeCcmRrcSapProvider;
32 
41 {
42 public:
45 
47 
52  static TypeId GetTypeId ();
53 
54  // inherited from LteComponentCarrierManager
56 
57 
58 
61  //friend class MemberLteUeCcmRrcSapUser<SimpleUeComponentCarrierManager>;
62 
66  friend class SimpleUeCcmMacSapUser;
67 
68 protected:
69 
70  // inherited from Object
71  virtual void DoInitialize ();
72  virtual void DoDispose ();
73  // inherited from LteCcsAlgorithm as a Component Carrier Management SAP implementation
79  void DoReportUeMeas (uint16_t rnti, LteRrcSap::MeasResults measResults);
80  // forwarded from LteMacSapProvider
93  // forwarded from LteMacSapUser
106  //forwarded from LteUeCcmRrcSapProvider
114  virtual std::vector<LteUeCcmRrcSapProvider::LcsConfig> DoAddLc (uint8_t lcId, LteUeCmacSapProvider::LogicalChannelConfig lcConfig, LteMacSapUser* msu);
120  std::vector<uint16_t> DoRemoveLc (uint8_t lcid);
133  void DoReset ();
134 
135 protected:
136 
139 
140 }; // end of class SimpleUeComponentCarrierManager
141 
142 
143 } // end of namespace ns3
144 
145 
146 #endif /* SIMPLE_UE_COMPONENT_CARRIER_MANAGER_H */
void DoReportUeMeas(uint16_t rnti, LteRrcSap::MeasResults measResults)
Report Ue Measure function.
Parameters for LteMacSapUser::NotifyTxOpportunity.
Definition: lte-mac-sap.h:103
virtual void DoReportBufferStatus(LteMacSapProvider::ReportBufferStatusParameters params)
Report buffer status function.
void DoNotifyTxOpportunity(LteMacSapUser::TxOpportunityParameters txOpParams)
Notify TX opportunity function.
std::vector< uint16_t > DoRemoveLc(uint8_t lcid)
Remove LC function.
virtual void DoInitialize()
Initialize() implementation.
Parameters for LteMacSapProvider::ReportBufferStatus.
Definition: lte-mac-sap.h:67
MeasResults structure.
Definition: lte-rrc-sap.h:678
virtual LteMacSapUser * DoConfigureSignalBearer(uint8_t lcId, LteUeCmacSapProvider::LogicalChannelConfig lcConfig, LteMacSapUser *msu)
Configure signal bearer function.
MemberLteUeCcmRrcSapProvider class.
LteMacSapProvider * m_ccmMacSapProvider
Receive API calls from the UE RLC instance.
void DoReceivePdu(LteMacSapUser::ReceivePduParameters rxPduParams)
Receive PDU function.
virtual void DoDispose()
Destructor implementation.
virtual LteMacSapProvider * GetLteMacSapProvider()
Returns the MAC sap provider interface that if forwarding calls to the instance of the LteUeComponent...
Every class exported by the ns3 library is enclosed in the ns3 namespace.
void DoTransmitPdu(LteMacSapProvider::TransmitPduParameters params)
Transmit PDU function.
The abstract base class of a Component Carrier Manager* for UE that operates using the component carr...
Component carrier manager implementation which simply does nothing.
Service Access Point (SAP) offered by the MAC to the RLC See Femto Forum MAC Scheduler Interface Spec...
Definition: lte-mac-sap.h:95
Service Access Point (SAP) offered by the MAC to the RLC See Femto Forum MAC Scheduler Interface Spec...
Definition: lte-mac-sap.h:36
SimpleUeComponentCarrierManager()
Creates a No-op CCS algorithm instance.
Parameters for LteMacSapUser::ReceivePdu.
Definition: lte-mac-sap.h:156
void DoNotifyHarqDeliveryFailure()
Notify HARQ deliver failure.
LteMacSapUser * m_ccmMacSapUser
Interface to the UE RLC instance.
virtual std::vector< LteUeCcmRrcSapProvider::LcsConfig > DoAddLc(uint8_t lcId, LteUeCmacSapProvider::LogicalChannelConfig lcConfig, LteMacSapUser *msu)
Add LC function.
a unique identifier for an interface.
Definition: type-id.h:58
Parameters for LteMacSapProvider::TransmitPdu.
Definition: lte-mac-sap.h:45