A Discrete-Event Network Simulator
Home
Tutorials ▼
English
Docs ▼
Wiki
Manual
Models
Develop ▼
API
Bugs
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
40
class
SimpleUeComponentCarrierManager
:
public
LteUeComponentCarrierManager
41
{
42
public
:
44
SimpleUeComponentCarrierManager
();
45
46
virtual
~SimpleUeComponentCarrierManager
();
47
52
static
TypeId
GetTypeId
();
53
54
// inherited from LteComponentCarrierManager
55
virtual
LteMacSapProvider
*
GetLteMacSapProvider
();
56
57
58
60
friend
class
MemberLteUeCcmRrcSapProvider
<
SimpleUeComponentCarrierManager
>;
61
//friend class MemberLteUeCcmRrcSapUser<SimpleUeComponentCarrierManager>;
62
64
friend
class
SimpleUeCcmMacSapProvider
;
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
85
void
DoTransmitPdu
(
LteMacSapProvider::TransmitPduParameters
params);
90
virtual
void
DoReportBufferStatus
(
LteMacSapProvider::ReportBufferStatusParameters
params);
92
void
DoNotifyHarqDeliveryFailure
();
93
// forwarded from LteMacSapUser
99
void
DoNotifyTxOpportunity
(
LteMacSapUser::TxOpportunityParameters
txOpParams);
105
void
DoReceivePdu
(
LteMacSapUser::ReceivePduParameters
rxPduParams);
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);
128
virtual
LteMacSapUser
*
DoConfigureSignalBearer
(uint8_t lcId,
LteUeCmacSapProvider::LogicalChannelConfig
lcConfig,
LteMacSapUser
* msu);
133
void
DoReset
();
134
135
protected
:
136
137
LteMacSapUser
*
m_ccmMacSapUser
;
138
LteMacSapProvider
*
m_ccmMacSapProvider
;
139
140
};
// end of class SimpleUeComponentCarrierManager
141
142
143
}
// end of namespace ns3
144
145
146
#endif
/* SIMPLE_UE_COMPONENT_CARRIER_MANAGER_H */
ns3::LteMacSapProvider::TransmitPduParameters
Parameters for LteMacSapProvider::TransmitPdu.
Definition:
lte-mac-sap.h:46
ns3::TypeId
a unique identifier for an interface.
Definition:
type-id.h:59
ns3::MemberLteUeCcmRrcSapProvider
MemberLteUeCcmRrcSapProvider class.
Definition:
lte-ue-ccm-rrc-sap.h:107
ns3::LteMacSapProvider
Service Access Point (SAP) offered by the MAC to the RLC See Femto Forum MAC Scheduler Interface Spec...
Definition:
lte-mac-sap.h:37
ns3::SimpleUeComponentCarrierManager::DoInitialize
virtual void DoInitialize()
Initialize() implementation.
Definition:
simple-ue-component-carrier-manager.cc:176
ns3
Every class exported by the ns3 library is enclosed in the ns3 namespace.
ns3::LteMacSapUser::TxOpportunityParameters
Parameters for LteMacSapUser::NotifyTxOpportunity.
Definition:
lte-mac-sap.h:104
ns3::SimpleUeComponentCarrierManager::DoDispose
virtual void DoDispose()
Destructor implementation.
Definition:
simple-ue-component-carrier-manager.cc:147
ns3::SimpleUeComponentCarrierManager::DoNotifyTxOpportunity
void DoNotifyTxOpportunity(LteMacSapUser::TxOpportunityParameters txOpParams)
Notify TX opportunity function.
Definition:
simple-ue-component-carrier-manager.cc:231
ns3::SimpleUeComponentCarrierManager::DoReset
void DoReset()
Reset LC map.
Definition:
simple-ue-component-carrier-manager.cc:284
ns3::SimpleUeComponentCarrierManager::DoNotifyHarqDeliveryFailure
void DoNotifyHarqDeliveryFailure()
Notify HARQ deliver failure.
Definition:
simple-ue-component-carrier-manager.cc:224
ns3::SimpleUeComponentCarrierManager::DoReceivePdu
void DoReceivePdu(LteMacSapUser::ReceivePduParameters rxPduParams)
Receive PDU function.
Definition:
simple-ue-component-carrier-manager.cc:245
ns3::SimpleUeComponentCarrierManager::GetTypeId
static TypeId GetTypeId()
Get the type ID.
Definition:
simple-ue-component-carrier-manager.cc:157
ns3::SimpleUeComponentCarrierManager::GetLteMacSapProvider
virtual LteMacSapProvider * GetLteMacSapProvider()
Returns the MAC sap provider interface that if forwarding calls to the instance of the LteUeComponent...
Definition:
simple-ue-component-carrier-manager.cc:168
ns3::SimpleUeComponentCarrierManager::m_ccmMacSapUser
LteMacSapUser * m_ccmMacSapUser
Interface to the UE RLC instance.
Definition:
simple-ue-component-carrier-manager.h:137
ns3::LteMacSapProvider::ReportBufferStatusParameters
Parameters for LteMacSapProvider::ReportBufferStatus.
Definition:
lte-mac-sap.h:68
ns3::SimpleUeCcmMacSapProvider
SimpleUeCcmMacSapProvider class.
Definition:
simple-ue-component-carrier-manager.cc:42
ns3::SimpleUeCcmMacSapUser
SimpleUeCcmMacSapUser class.
Definition:
simple-ue-component-carrier-manager.cc:83
ns3::LteUeComponentCarrierManager
The abstract base class of a Component Carrier Manager* for UE that operates using the component carr...
Definition:
lte-ue-component-carrier-manager.h:51
ns3::LteMacSapUser::ReceivePduParameters
Parameters for LteMacSapUser::ReceivePdu.
Definition:
lte-mac-sap.h:157
ns3::SimpleUeComponentCarrierManager::DoReportUeMeas
void DoReportUeMeas(uint16_t rnti, LteRrcSap::MeasResults measResults)
Report Ue Measure function.
Definition:
simple-ue-component-carrier-manager.cc:184
ns3::SimpleUeComponentCarrierManager::~SimpleUeComponentCarrierManager
virtual ~SimpleUeComponentCarrierManager()
Definition:
simple-ue-component-carrier-manager.cc:140
ns3::LteRrcSap::MeasResults
MeasResults structure.
Definition:
lte-rrc-sap.h:679
ns3::SimpleUeComponentCarrierManager::DoTransmitPdu
void DoTransmitPdu(LteMacSapProvider::TransmitPduParameters params)
Transmit PDU function.
Definition:
simple-ue-component-carrier-manager.cc:192
ns3::LteMacSapUser
Service Access Point (SAP) offered by the MAC to the RLC See Femto Forum MAC Scheduler Interface Spec...
Definition:
lte-mac-sap.h:96
ns3::SimpleUeComponentCarrierManager::DoAddLc
virtual std::vector< LteUeCcmRrcSapProvider::LcsConfig > DoAddLc(uint8_t lcId, LteUeCmacSapProvider::LogicalChannelConfig lcConfig, LteMacSapUser *msu)
Add LC function.
Definition:
simple-ue-component-carrier-manager.cc:305
ns3::SimpleUeComponentCarrierManager::m_ccmMacSapProvider
LteMacSapProvider * m_ccmMacSapProvider
Receive API calls from the UE RLC instance.
Definition:
simple-ue-component-carrier-manager.h:138
ns3::LteUeCmacSapProvider::LogicalChannelConfig
LogicalChannelConfig structure.
Definition:
lte-ue-cmac-sap.h:81
ns3::SimpleUeComponentCarrierManager::DoReportBufferStatus
virtual void DoReportBufferStatus(LteMacSapProvider::ReportBufferStatusParameters params)
Report buffer status function.
Definition:
simple-ue-component-carrier-manager.cc:202
ns3::SimpleUeComponentCarrierManager::SimpleUeComponentCarrierManager
SimpleUeComponentCarrierManager()
Creates a No-op CCS algorithm instance.
Definition:
simple-ue-component-carrier-manager.cc:131
ns3::SimpleUeComponentCarrierManager
Component carrier manager implementation which simply does nothing.
Definition:
simple-ue-component-carrier-manager.h:41
ns3::SimpleUeComponentCarrierManager::DoRemoveLc
std::vector< uint16_t > DoRemoveLc(uint8_t lcid)
Remove LC function.
Definition:
simple-ue-component-carrier-manager.cc:260
ns3::SimpleUeComponentCarrierManager::DoConfigureSignalBearer
virtual LteMacSapUser * DoConfigureSignalBearer(uint8_t lcId, LteUeCmacSapProvider::LogicalChannelConfig lcConfig, LteMacSapUser *msu)
Configure signal bearer function.
Definition:
simple-ue-component-carrier-manager.cc:341
src
lte
model
simple-ue-component-carrier-manager.h
Generated on Fri Oct 1 2021 17:03:23 for ns-3 by
1.8.20