A Discrete-Event Network Simulator
API
lte-simple-helper.h
Go to the documentation of this file.
1 /* -*- Mode: C++; c-file-style: "gnu"; indent-tabs-mode:nil; -*- */
2 /*
3  * Copyright (c) 2012 Centre Tecnologic de Telecomunicacions de Catalunya (CTTC)
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: Manuel Requena <manuel.requena@cttc.es> (Based on lte-helper.h)
19  */
20 
21 #ifndef LTE_SIMPLE_HELPER_H
22 #define LTE_SIMPLE_HELPER_H
23 
24 #include "ns3/net-device-container.h"
25 #include "ns3/simple-channel.h"
26 #include "ns3/node-container.h"
27 #include "ns3/radio-bearer-stats-calculator.h"
28 
29 #include "ns3/lte-pdcp.h"
30 #include "ns3/lte-rlc.h"
31 #include "ns3/lte-rlc-um.h"
32 #include "ns3/lte-rlc-am.h"
33 
34 namespace ns3 {
35 
36 class LteTestRrc;
37 class LteTestMac;
38 
48 class LteSimpleHelper : public Object
49 {
50 public:
51  LteSimpleHelper (void);
52  virtual ~LteSimpleHelper (void);
53 
58  static TypeId GetTypeId (void);
59  virtual void DoDispose (void);
60 
61 
70 
79 
80 
85  void EnableLogComponents (void);
86 
90  void EnableTraces (void);
91 
92 
96  void EnableRlcTraces (void);
97 
101  void EnableDlRlcTraces (void);
102 
106  void EnableUlRlcTraces (void);
107 
108 
112  void EnablePdcpTraces (void);
113 
117  void EnableDlPdcpTraces (void);
118 
122  void EnableUlPdcpTraces (void);
123 
124 protected:
125  // inherited from Object
126  virtual void DoInitialize (void);
127 
128 private:
143 
145 
146 public:
147 
150 
153 
154 private:
155 
158 
161 
164 
168 
169 };
170 
171 
172 } // namespace ns3
173 
174 
175 #endif // LTE_SIMPLE_HELPER_H
A simplified version of LteHelper, that is used for creation and configuration of LTE entities for te...
ObjectFactory m_ueDeviceFactory
UE device factory.
Ptr< NetDevice > InstallSingleEnbDevice(Ptr< Node > n)
Install single ENB device.
Ptr< LteTestRrc > m_ueRrc
UE RRC.
void EnableDlPdcpTraces(void)
Enable trace sinks for DL PDCP layer.
virtual ~LteSimpleHelper(void)
Ptr< LtePdcp > m_enbPdcp
ENB PDCP.
NetDeviceContainer InstallEnbDevice(NodeContainer c)
create a set of eNB devices
Ptr< NetDevice > InstallSingleUeDevice(Ptr< Node > n)
Install single UE device.
ObjectFactory m_enbDeviceFactory
ENB device factory.
Ptr< SimpleChannel > m_phyChannel
the physical channel
void EnableDlRlcTraces(void)
Enable trace sinks for DL RLC layer.
Ptr< LteTestRrc > m_enbRrc
ENB RRC.
void EnableLogComponents(void)
Enables logging for all components of the LENA architecture.
Ptr< LteTestMac > m_enbMac
ENB MAC.
Ptr< LteTestMac > m_ueMac
UE MAC.
LteRlcEntityType_t
LteRlcEntityType_t enumeration.
Ptr< LteRlc > m_ueRlc
UE RLC.
NetDeviceContainer InstallUeDevice(NodeContainer c)
create a set of UE devices
static TypeId GetTypeId(void)
Get the type ID.
virtual void DoDispose(void)
Destructor implementation.
Ptr< LtePdcp > m_uePdcp
UE PDCP.
Ptr< LteRlc > m_enbRlc
ENB RLC.
void EnableUlRlcTraces(void)
Enable trace sinks for UL RLC layer.
void EnableRlcTraces(void)
Enable trace sinks for RLC layer.
enum ns3::LteSimpleHelper::LteRlcEntityType_t m_lteRlcEntityType
RLC entity type.
void EnableTraces(void)
Enables trace sinks for MAC, RLC and PDCP.
void EnablePdcpTraces(void)
Enable trace sinks for PDCP layer.
virtual void DoInitialize(void)
Initialize() implementation.
void EnableUlPdcpTraces(void)
Enable trace sinks for UL PDCP layer.
holds a vector of ns3::NetDevice pointers
keep track of a set of node pointers.
Instantiate subclasses of ns3::Object.
A base class which provides memory management and object aggregation.
Definition: object.h:88
a unique identifier for an interface.
Definition: type-id.h:59
Every class exported by the ns3 library is enclosed in the ns3 namespace.