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