23 #include "ns3/callback.h"    24 #include "ns3/config.h"    25 #include "ns3/simple-channel.h"    26 #include "ns3/error-model.h"    65     TypeId (
"ns3::LteSimpleHelper")
    67     .AddConstructor<LteSimpleHelper> ()
    68     .AddAttribute (
"RlcEntity",
    69                    "Specify which type of RLC will be used. ",
   128   m_enbRrc = CreateObject<LteTestRrc> ();
   133       m_enbRlc = CreateObject<LteRlcUm> ();
   137       m_enbRlc = CreateObject<LteRlcAm> ();
   147   n->AddDevice (enbDev);
   149   m_enbMac = CreateObject<LteTestMac> ();
   175   m_ueRrc = CreateObject<LteTestRrc> ();
   176   m_uePdcp = CreateObject<LtePdcp> ();
   180       m_ueRlc = CreateObject<LteRlcUm> ();
   184       m_ueRlc = CreateObject<LteRlcAm> ();
   194   n->AddDevice (ueDev);
   196   m_ueMac = CreateObject<LteTestMac> ();
   260                  uint16_t rnti, uint8_t lcid, uint32_t 
packetSize)
   264   uint16_t cellId = 222;
   280                  uint16_t rnti, uint8_t lcid, uint32_t 
packetSize, uint64_t delay)
   284   uint16_t cellId = 555;
   310                  uint16_t rnti, uint8_t lcid, uint32_t 
packetSize)
   313   uint64_t imsi = 1111;
   314   uint16_t cellId = 555;
   330                  uint16_t rnti, uint8_t lcid, uint32_t 
packetSize, uint64_t delay)
   334   uint16_t cellId = 555;
 void EnableRlcTraces(void)
Enable trace sinks for RLC layer. 
 
void Dispose(void)
Dispose of this Object. 
 
enum ns3::LteSimpleHelper::LteRlcEntityType_t m_lteRlcEntityType
RLC entity type. 
 
Ptr< LteTestRrc > m_enbRrc
ENB RRC. 
 
virtual void DoInitialize(void)
Initialize() implementation. 
 
Prefix all trace prints with simulation node. 
 
#define NS_LOG_FUNCTION(parameters)
If log level LOG_FUNCTION is enabled, this macro will output all input parameters separated by "...
 
#define NS_OBJECT_ENSURE_REGISTERED(type)
Register an Object subclass with the TypeId system. 
 
std::vector< Ptr< Node > >::const_iterator Iterator
Node container iterator. 
 
static const uint32_t packetSize
 
virtual ~LteSimpleHelper(void)
 
Ptr< NetDevice > InstallSingleEnbDevice(Ptr< Node > n)
Install single ENB device. 
 
Ptr< NetDevice > InstallSingleUeDevice(Ptr< Node > n)
Install single UE device. 
 
#define NS_LOG_COMPONENT_DEFINE(name)
Define a Log component with a specific name. 
 
Ptr< LteTestRrc > m_ueRrc
UE RRC. 
 
void SetTypeId(TypeId tid)
Set the TypeId of the Objects to be created by this factory. 
 
static TypeId GetTypeId(void)
Get the type ID. 
 
virtual void DoDispose(void)
Destructor implementation. 
 
#define NS_LOG_FUNCTION_NOARGS()
Output the name of the function. 
 
void EnableTraces(void)
Enables trace sinks for MAC, RLC and PDCP. 
 
Ptr< LteTestMac > m_ueMac
UE MAC. 
 
Iterator End(void) const
Get an iterator which indicates past-the-last Node in the container. 
 
void SetRnti(uint16_t rnti)
 
Ptr< LteTestMac > m_enbMac
ENB MAC. 
 
void LteSimpleHelperUlTxPduCallback(Ptr< RadioBearerStatsCalculator > rlcStats, std::string path, uint16_t rnti, uint8_t lcid, uint32_t packetSize)
UL transmit PDU callback. 
 
Ptr< LtePdcp > m_enbPdcp
ENB PDCP. 
 
void SetLteMacSapUser(LteMacSapUser *s)
Set the MAC SAP user. 
 
void LteSimpleHelperDlRxPduCallback(Ptr< RadioBearerStatsCalculator > rlcStats, std::string path, uint16_t rnti, uint8_t lcid, uint32_t packetSize, uint64_t delay)
DL receive PDU callback. 
 
void LogComponentEnable(char const *name, enum LogLevel level)
Enable the logging output associated with that log component. 
 
static Mac48Address Allocate(void)
Allocate a new Mac48Address. 
 
Hold variables of type enum. 
 
Ptr< Object > Create(void) const
Create an Object instance of the configured TypeId. 
 
void LteSimpleHelperUlRxPduCallback(Ptr< RadioBearerStatsCalculator > rlcStats, std::string path, uint16_t rnti, uint8_t lcid, uint32_t packetSize, uint64_t delay)
UL receive PDU callback. 
 
Ptr< const AttributeAccessor > MakeEnumAccessor(T1 a1)
 Create an AttributeAccessor for a class data member, or a lone class get functor or set method...
 
holds a vector of ns3::NetDevice pointers 
 
NetDeviceContainer InstallEnbDevice(NodeContainer c)
create a set of eNB devices 
 
void UlTxPdu(uint16_t cellId, uint64_t imsi, uint16_t rnti, uint8_t lcid, uint32_t packetSize)
Notifies the stats calculator that an uplink transmission has occurred. 
 
LteMacSapUser * GetLteMacSapUser()
 
virtual void DoDispose(void)
Destructor implementation. 
 
Prefix all trace prints with simulation time. 
 
LteMacSapProvider * GetLteMacSapProvider(void)
Get the MAC SAP provider. 
 
Ptr< SimpleChannel > m_phyChannel
the physical channel 
 
Every class exported by the ns3 library is enclosed in the ns3 namespace. 
 
ObjectFactory m_ueDeviceFactory
UE device factory. 
 
keep track of a set of node pointers. 
 
void EnableLogComponents(void)
Enables logging for all components of the LENA architecture. 
 
void SetLteRlcSapUser(LteRlcSapUser *s)
 
NetDeviceContainer InstallUeDevice(NodeContainer c)
create a set of UE devices 
 
void SetLcId(uint8_t lcId)
 
void DlTxPdu(uint16_t cellId, uint64_t imsi, uint16_t rnti, uint8_t lcid, uint32_t packetSize)
Notifies the stats calculator that an downlink transmission has occurred. 
 
void EnableDlRlcTraces(void)
Enable trace sinks for DL RLC layer. 
 
void UlRxPdu(uint16_t cellId, uint64_t imsi, uint16_t rnti, uint8_t lcid, uint32_t packetSize, uint64_t delay)
Notifies the stats calculator that an uplink reception has occurred. 
 
LogLevel
Logging severity classes and levels. 
 
Prefix all trace prints with function. 
 
void EnableUlPdcpTraces(void)
Enable trace sinks for UL PDCP layer. 
 
void EnableDlPdcpTraces(void)
Enable trace sinks for DL PDCP layer. 
 
ObjectFactory m_enbDeviceFactory
ENB device factory. 
 
void SetDevice(Ptr< NetDevice > device)
Set the device function. 
 
virtual void DoInitialize(void)
Initialize() implementation. 
 
Ptr< const AttributeChecker > MakeEnumChecker(int v, std::string n, Ts... args)
Make an EnumChecker pre-configured with a set of allowed values by name. 
 
Ptr< LtePdcp > m_uePdcp
UE PDCP. 
 
void EnableUlRlcTraces(void)
Enable trace sinks for UL RLC layer. 
 
void EnablePdcpTraces(void)
Enable trace sinks for PDCP layer. 
 
LteRlcSapProvider * GetLteRlcSapProvider()
 
A base class which provides memory management and object aggregation. 
 
Ptr< LteRlc > m_ueRlc
UE RLC. 
 
The LteSimpleNetDevice class implements the LTE simple net device. 
 
static TypeId GetTypeId(void)
Get the type ID. 
 
Ptr< LteRlc > m_enbRlc
ENB RLC. 
 
a unique identifier for an interface. 
 
TypeId SetParent(TypeId tid)
Set the parent TypeId. 
 
Callback< R, Ts... > MakeCallback(R(T::*memPtr)(Ts...), OBJ objPtr)
Build Callbacks for class method members which take varying numbers of arguments and potentially retu...
 
void DlRxPdu(uint16_t cellId, uint64_t imsi, uint16_t rnti, uint8_t lcid, uint32_t packetSize, uint64_t delay)
Notifies the stats calculator that an downlink reception has occurred. 
 
void Initialize(void)
Invoke DoInitialize on all Objects aggregated to this one. 
 
void LteSimpleHelperDlTxPduCallback(Ptr< RadioBearerStatsCalculator > rlcStats, std::string path, uint16_t rnti, uint8_t lcid, uint32_t packetSize)
DL transmit PDU callback. 
 
Iterator Begin(void) const
Get an iterator which refers to the first Node in the container. 
 
void SetLteMacSapProvider(LteMacSapProvider *s)
 
bool Receive(Ptr< NetDevice > nd, Ptr< const Packet > p, uint16_t protocol, const Address &addr)
the Receive function