A Discrete-Event Network Simulator
Home
Tutorials ▼
English
Documentation ▼
Installation
Manual
Models
Contributing
Wiki
Development ▼
API Docs
Issue Tracker
Merge Requests
API
Loading...
Searching...
No Matches
lte-simple-helper.h
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2012 Centre Tecnologic de Telecomunicacions de Catalunya (CTTC)
3
*
4
* SPDX-License-Identifier: GPL-2.0-only
5
*
6
* Author: Manuel Requena <manuel.requena@cttc.es>
7
* (Based on lte-helper.h)
8
*/
9
10
#ifndef LTE_SIMPLE_HELPER_H
11
#define LTE_SIMPLE_HELPER_H
12
13
#include "ns3/lte-pdcp.h"
14
#include "ns3/lte-rlc-am.h"
15
#include "ns3/lte-rlc-um.h"
16
#include "ns3/lte-rlc.h"
17
#include "ns3/net-device-container.h"
18
#include "ns3/node-container.h"
19
#include "ns3/radio-bearer-stats-calculator.h"
20
#include "ns3/simple-channel.h"
21
22
namespace
ns3
23
{
24
25
class
LteTestRrc
;
26
class
LteTestMac
;
27
28
/**
29
* @ingroup lte-test
30
*
31
* @brief A simplified version of LteHelper, that
32
* is used for creation and configuration of LTE entities for testing purposes
33
* when just a limited LteHelper functionality is wanted.
34
*
35
*/
36
class
LteSimpleHelper
:
public
Object
37
{
38
public
:
39
LteSimpleHelper
();
40
~LteSimpleHelper
()
override
;
41
42
/**
43
* @brief Get the type ID.
44
* @return the object TypeId
45
*/
46
static
TypeId
GetTypeId
();
47
void
DoDispose
()
override
;
48
49
/**
50
* create a set of eNB devices
51
*
52
* @param c the node container where the devices are to be installed
53
*
54
* @return the NetDeviceContainer with the newly created devices
55
*/
56
NetDeviceContainer
InstallEnbDevice
(
NodeContainer
c);
57
58
/**
59
* create a set of UE devices
60
*
61
* @param c the node container where the devices are to be installed
62
*
63
* @return the NetDeviceContainer with the newly created devices
64
*/
65
NetDeviceContainer
InstallUeDevice
(
NodeContainer
c);
66
67
/**
68
* Enables logging for all components of the LENA architecture
69
*
70
*/
71
void
EnableLogComponents
();
72
73
/**
74
* Enables trace sinks for MAC, RLC and PDCP
75
*/
76
void
EnableTraces
();
77
78
/**
79
* Enable trace sinks for RLC layer
80
*/
81
void
EnableRlcTraces
();
82
83
/**
84
* Enable trace sinks for DL RLC layer
85
*/
86
void
EnableDlRlcTraces
();
87
88
/**
89
* Enable trace sinks for UL RLC layer
90
*/
91
void
EnableUlRlcTraces
();
92
93
/**
94
* Enable trace sinks for PDCP layer
95
*/
96
void
EnablePdcpTraces
();
97
98
/**
99
* Enable trace sinks for DL PDCP layer
100
*/
101
void
EnableDlPdcpTraces
();
102
103
/**
104
* Enable trace sinks for UL PDCP layer
105
*/
106
void
EnableUlPdcpTraces
();
107
108
protected
:
109
// inherited from Object
110
void
DoInitialize
()
override
;
111
112
private
:
113
/**
114
* Install single ENB device
115
*
116
* @param n the node
117
* @returns the device
118
*/
119
Ptr<NetDevice>
InstallSingleEnbDevice
(
Ptr<Node>
n);
120
/**
121
* Install single UE device
122
*
123
* @param n the node
124
* @returns the device
125
*/
126
Ptr<NetDevice>
InstallSingleUeDevice
(
Ptr<Node>
n);
127
128
Ptr<SimpleChannel>
m_phyChannel
;
///< the physical channel
129
130
public
:
131
Ptr<LteTestRrc>
m_enbRrc
;
///< ENB RRC
132
Ptr<LteTestRrc>
m_ueRrc
;
///< UE RRC
133
134
Ptr<LteTestMac>
m_enbMac
;
///< ENB MAC
135
Ptr<LteTestMac>
m_ueMac
;
///< UE MAC
136
137
private
:
138
Ptr<LtePdcp>
m_enbPdcp
;
///< ENB PDCP
139
Ptr<LteRlc>
m_enbRlc
;
///< ENB RLC
140
141
Ptr<LtePdcp>
m_uePdcp
;
///< UE PDCP
142
Ptr<LteRlc>
m_ueRlc
;
///< UE RLC
143
144
ObjectFactory
m_enbDeviceFactory
;
///< ENB device factory
145
ObjectFactory
m_ueDeviceFactory
;
///< UE device factory
146
147
/// LteRlcEntityType_t enumeration
148
enum
LteRlcEntityType_t
149
{
150
RLC_UM
= 1,
151
RLC_AM
= 2
152
}
m_lteRlcEntityType
;
///< RLC entity type
153
};
154
155
}
// namespace ns3
156
157
#endif
// LTE_SIMPLE_HELPER_H
ns3::LteSimpleHelper::m_ueDeviceFactory
ObjectFactory m_ueDeviceFactory
UE device factory.
Definition
lte-simple-helper.h:145
ns3::LteSimpleHelper::InstallSingleEnbDevice
Ptr< NetDevice > InstallSingleEnbDevice(Ptr< Node > n)
Install single ENB device.
Definition
lte-simple-helper.cc:109
ns3::LteSimpleHelper::m_ueRrc
Ptr< LteTestRrc > m_ueRrc
UE RRC.
Definition
lte-simple-helper.h:132
ns3::LteSimpleHelper::GetTypeId
static TypeId GetTypeId()
Get the type ID.
Definition
lte-simple-helper.cc:51
ns3::LteSimpleHelper::m_enbPdcp
Ptr< LtePdcp > m_enbPdcp
ENB PDCP.
Definition
lte-simple-helper.h:138
ns3::LteSimpleHelper::InstallEnbDevice
NetDeviceContainer InstallEnbDevice(NodeContainer c)
create a set of eNB devices
Definition
lte-simple-helper.cc:80
ns3::LteSimpleHelper::InstallSingleUeDevice
Ptr< NetDevice > InstallSingleUeDevice(Ptr< Node > n)
Install single UE device.
Definition
lte-simple-helper.cc:156
ns3::LteSimpleHelper::EnableDlPdcpTraces
void EnableDlPdcpTraces()
Enable trace sinks for DL PDCP layer.
Definition
lte-simple-helper.cc:354
ns3::LteSimpleHelper::m_enbDeviceFactory
ObjectFactory m_enbDeviceFactory
ENB device factory.
Definition
lte-simple-helper.h:144
ns3::LteSimpleHelper::m_phyChannel
Ptr< SimpleChannel > m_phyChannel
the physical channel
Definition
lte-simple-helper.h:128
ns3::LteSimpleHelper::EnableRlcTraces
void EnableRlcTraces()
Enable trace sinks for RLC layer.
Definition
lte-simple-helper.cc:226
ns3::LteSimpleHelper::DoDispose
void DoDispose() override
Destructor implementation.
Definition
lte-simple-helper.cc:66
ns3::LteSimpleHelper::EnableUlRlcTraces
void EnableUlRlcTraces()
Enable trace sinks for UL RLC layer.
Definition
lte-simple-helper.cc:336
ns3::LteSimpleHelper::m_enbRrc
Ptr< LteTestRrc > m_enbRrc
ENB RRC.
Definition
lte-simple-helper.h:131
ns3::LteSimpleHelper::EnableDlRlcTraces
void EnableDlRlcTraces()
Enable trace sinks for DL RLC layer.
Definition
lte-simple-helper.cc:279
ns3::LteSimpleHelper::m_enbMac
Ptr< LteTestMac > m_enbMac
ENB MAC.
Definition
lte-simple-helper.h:134
ns3::LteSimpleHelper::m_ueMac
Ptr< LteTestMac > m_ueMac
UE MAC.
Definition
lte-simple-helper.h:135
ns3::LteSimpleHelper::LteRlcEntityType_t
LteRlcEntityType_t
LteRlcEntityType_t enumeration.
Definition
lte-simple-helper.h:149
ns3::LteSimpleHelper::RLC_AM
@ RLC_AM
Definition
lte-simple-helper.h:151
ns3::LteSimpleHelper::RLC_UM
@ RLC_UM
Definition
lte-simple-helper.h:150
ns3::LteSimpleHelper::EnableTraces
void EnableTraces()
Enables trace sinks for MAC, RLC and PDCP.
Definition
lte-simple-helper.cc:218
ns3::LteSimpleHelper::m_ueRlc
Ptr< LteRlc > m_ueRlc
UE RLC.
Definition
lte-simple-helper.h:142
ns3::LteSimpleHelper::InstallUeDevice
NetDeviceContainer InstallUeDevice(NodeContainer c)
create a set of UE devices
Definition
lte-simple-helper.cc:95
ns3::LteSimpleHelper::DoInitialize
void DoInitialize() override
Initialize() implementation.
Definition
lte-simple-helper.cc:36
ns3::LteSimpleHelper::m_uePdcp
Ptr< LtePdcp > m_uePdcp
UE PDCP.
Definition
lte-simple-helper.h:141
ns3::LteSimpleHelper::m_enbRlc
Ptr< LteRlc > m_enbRlc
ENB RLC.
Definition
lte-simple-helper.h:139
ns3::LteSimpleHelper::m_lteRlcEntityType
enum ns3::LteSimpleHelper::LteRlcEntityType_t m_lteRlcEntityType
RLC entity type.
ns3::LteSimpleHelper::EnableLogComponents
void EnableLogComponents()
Enables logging for all components of the LENA architecture.
Definition
lte-simple-helper.cc:201
ns3::LteSimpleHelper::LteSimpleHelper
LteSimpleHelper()
Definition
lte-simple-helper.cc:28
ns3::LteSimpleHelper::EnablePdcpTraces
void EnablePdcpTraces()
Enable trace sinks for PDCP layer.
Definition
lte-simple-helper.cc:347
ns3::LteSimpleHelper::EnableUlPdcpTraces
void EnableUlPdcpTraces()
Enable trace sinks for UL PDCP layer.
Definition
lte-simple-helper.cc:365
ns3::LteSimpleHelper::~LteSimpleHelper
~LteSimpleHelper() override
Definition
lte-simple-helper.cc:45
ns3::LteTestMac
This class implements a testing loopback MAC layer.
Definition
lte-test-entities.h:223
ns3::LteTestRrc
This class implements a testing RRC entity.
Definition
lte-test-entities.h:29
ns3::NetDeviceContainer
holds a vector of ns3::NetDevice pointers
Definition
net-device-container.h:32
ns3::NodeContainer
keep track of a set of node pointers.
Definition
node-container.h:29
ns3::Object::ObjectFactory
friend class ObjectFactory
Friends.
Definition
object.h:357
ns3::Object::Object
Object()
Constructor.
Definition
object.cc:96
ns3::Ptr
Smart pointer class similar to boost::intrusive_ptr.
Definition
ptr.h:66
ns3::TypeId
a unique identifier for an interface.
Definition
type-id.h:49
ns3
Every class exported by the ns3 library is enclosed in the ns3 namespace.
src
lte
test
lte-simple-helper.h
Generated on Wed Jun 11 2025 13:15:34 for ns-3 by
1.13.2