ns-3
|
#include <lte-helper.h>
Public Types | |
enum | LteEpsBearerToRlcMapping_t { RLC_SM_ALWAYS = 1, RLC_UM_ALWAYS = 2, RLC_AM_ALWAYS = 3, PER_BASED = 4 } |
Public Member Functions | |
virtual void | DoDispose (void) |
void | SetEpcHelper (Ptr< EpcHelper > h) |
void | SetPathlossModelType (std::string type) |
void | SetPathlossModelAttribute (std::string n, const AttributeValue &v) |
void | SetSchedulerType (std::string type) |
void | SetSchedulerAttribute (std::string n, const AttributeValue &v) |
void | SetEnbDeviceAttribute (std::string n, const AttributeValue &v) |
void | SetEnbAntennaModelType (std::string type) |
void | SetEnbAntennaModelAttribute (std::string n, const AttributeValue &v) |
void | SetUeAntennaModelType (std::string type) |
void | SetUeAntennaModelAttribute (std::string n, const AttributeValue &v) |
void | SetSpectrumChannelType (std::string type) |
void | SetSpectrumChannelAttribute (std::string n, const AttributeValue &v) |
NetDeviceContainer | InstallEnbDevice (NodeContainer c) |
NetDeviceContainer | InstallUeDevice (NodeContainer c) |
void | Attach (NetDeviceContainer ueDevices, Ptr< NetDevice > enbDevice) |
void | Attach (Ptr< NetDevice > ueDevice, Ptr< NetDevice > enbDevice) |
void | AttachToClosestEnb (NetDeviceContainer ueDevices, NetDeviceContainer enbDevices) |
void | AttachToClosestEnb (Ptr< NetDevice > ueDevice, NetDeviceContainer enbDevices) |
void | ActivateEpsBearer (NetDeviceContainer ueDevices, EpsBearer bearer, Ptr< EpcTft > tft) |
void | ActivateEpsBearer (Ptr< NetDevice > ueDevice, EpsBearer bearer, Ptr< EpcTft > tft) |
TypeId | GetRlcType (EpsBearer bearer) |
void | SetFadingModel (std::string model) |
void | SetFadingModelAttribute (std::string n, const AttributeValue &v) |
void | EnableLogComponents (void) |
void | EnableTraces (void) |
void | EnableMacTraces (void) |
void | EnableDlMacTraces (void) |
void | EnableUlMacTraces (void) |
void | EnableRlcTraces (void) |
void | EnableDlRlcTraces (void) |
void | EnableUlRlcTraces (void) |
Ptr< RadioBearerStatsCalculator > | GetRlcStats (void) |
void | EnablePdcpTraces (void) |
void | EnableDlPdcpTraces (void) |
void | EnableUlPdcpTraces (void) |
Ptr< RadioBearerStatsCalculator > | GetPdcpStats (void) |
![]() | |
virtual TypeId | GetInstanceTypeId (void) const |
template<typename T > | |
Ptr< T > | GetObject (void) const |
template<typename T > | |
Ptr< T > | GetObject (TypeId tid) const |
void | Dispose (void) |
void | AggregateObject (Ptr< Object > other) |
AggregateIterator | GetAggregateIterator (void) const |
void | Start (void) |
![]() | |
SimpleRefCount (const SimpleRefCount &o) | |
SimpleRefCount & | operator= (const SimpleRefCount &o) |
void | Ref (void) const |
void | Unref (void) const |
uint32_t | GetReferenceCount (void) const |
![]() | |
void | SetAttribute (std::string name, const AttributeValue &value) |
bool | SetAttributeFailSafe (std::string name, const AttributeValue &value) |
void | GetAttribute (std::string name, AttributeValue &value) const |
bool | GetAttributeFailSafe (std::string name, AttributeValue &attribute) const |
bool | TraceConnect (std::string name, std::string context, const CallbackBase &cb) |
bool | TraceConnectWithoutContext (std::string name, const CallbackBase &cb) |
bool | TraceDisconnect (std::string name, std::string context, const CallbackBase &cb) |
bool | TraceDisconnectWithoutContext (std::string name, const CallbackBase &cb) |
Static Public Member Functions | |
static TypeId | GetTypeId (void) |
This method returns the TypeId associated to ns3::LteHelper. |
Protected Member Functions | |
virtual void | DoStart (void) |
![]() | |
virtual void | NotifyNewAggregate (void) |
Object (const Object &o) |
Creation and configuration of LTE entities
void ns3::LteHelper::ActivateEpsBearer | ( | NetDeviceContainer | ueDevices, |
EpsBearer | bearer, | ||
Ptr< EpcTft > | tft | ||
) |
Activate an EPS bearer on a given set of UE devices
ueDevices | the set of UE devices |
bearer | the characteristics of the bearer to be activated |
tft | the Traffic Flow Template that identifies the traffic to go on this bearer |
References ns3::NetDeviceContainer::Begin(), ns3::NetDeviceContainer::End(), and NS_LOG_FUNCTION.
void ns3::LteHelper::ActivateEpsBearer | ( | Ptr< NetDevice > | ueDevice, |
EpsBearer | bearer, | ||
Ptr< EpcTft > | tft | ||
) |
Activate an EPS bearer on a given UE device
ueDevices | the set of UE devices |
bearer | the characteristics of the bearer to be activated |
tft | the Traffic Flow Template that identifies the traffic to go on this bearer |
References ns3::EpcHelper::ActivateEpsBearer(), ns3::Object::GetObject(), GetRlcType(), ns3::LteUeRrc::GetRnti(), NS_LOG_FUNCTION, NS_LOG_INFO, ns3::LteUeRrc::SetupRadioBearer(), and ns3::LteEnbRrc::SetupRadioBearer().
void ns3::LteHelper::Attach | ( | NetDeviceContainer | ueDevices, |
Ptr< NetDevice > | enbDevice | ||
) |
Attach a set of UE devices to a single eNB device
ueDevices | |
enbDevice |
References ns3::NetDeviceContainer::Begin(), ns3::NetDeviceContainer::End(), and NS_LOG_FUNCTION.
Referenced by AttachToClosestEnb().
Attach a UE device to an eNB device
ueDevice | |
enbDevice |
References ns3::SpectrumChannel::AddRx(), ns3::LteEnbRrc::AddUe(), ns3::LteUeRrc::ConfigureUe(), ns3::TraceFadingLossModel::CreateFadingChannelRealization(), ns3::LtePhy::DoSetBandwidth(), ns3::LtePhy::DoSetEarfcn(), ns3::LteEnbNetDevice::GetCellId(), ns3::LteEnbNetDevice::GetDlEarfcn(), ns3::LtePhy::GetDownlinkSpectrumPhy(), ns3::LteSpectrumPhy::GetMobility(), ns3::Object::GetObject(), ns3::LteEnbNetDevice::GetUlBandwidth(), ns3::LtePhy::GetUplinkSpectrumPhy(), NS_LOG_FUNCTION, ns3::LteUePhy::SetRnti(), and ns3::Object::Start().
void ns3::LteHelper::AttachToClosestEnb | ( | NetDeviceContainer | ueDevices, |
NetDeviceContainer | enbDevices | ||
) |
Attach each UE in a set to the closest (w.r.t. distance) eNB among those in a set
ueDevices | the set of UEs |
enbDevices | the set of eNBs |
References ns3::NetDeviceContainer::Begin(), ns3::NetDeviceContainer::End(), and NS_LOG_FUNCTION.
void ns3::LteHelper::AttachToClosestEnb | ( | Ptr< NetDevice > | ueDevice, |
NetDeviceContainer | enbDevices | ||
) |
Attach an UE ito the closest (w.r.t. distance) eNB among those in a set
ueDevice | the UE |
enbDevices | the set of eNBs |
References Attach(), ns3::NetDeviceContainer::Begin(), ns3::CalculateDistance(), ns3::NetDeviceContainer::End(), ns3::NetDeviceContainer::GetN(), ns3::NetDevice::GetNode(), ns3::Object::GetObject(), NS_ASSERT, NS_ASSERT_MSG, and NS_LOG_FUNCTION.
|
virtual |
This method is called by Object::Dispose or by the object's destructor, whichever comes first.
Subclasses are expected to implement their real destruction code in an overriden version of this method and chain up to their parent's implementation once they are done. i.e., for simplicity, the destructor of every subclass should be empty and its content should be moved to the associated DoDispose method.
It is safe to call GetObject from within this method.
Reimplemented from ns3::Object.
References NS_LOG_FUNCTION.
|
protectedvirtual |
This method is called only once by Object::Start. If the user calls Object::Start multiple times, DoStart is called only the first time.
Subclasses are expected to override this method and chain up to their parent's implementation once they are done. It is safe to call GetObject and AggregateObject from within this method.
Reimplemented from ns3::Object.
References ns3::SpectrumChannel::AddPropagationLossModel(), ns3::SpectrumChannel::AddSpectrumPropagationLossModel(), ns3::ObjectFactory::Create(), ns3::Object::GetObject(), NS_ASSERT_MSG, NS_LOG_FUNCTION, and NS_LOG_LOGIC.
void ns3::LteHelper::EnableDlMacTraces | ( | void | ) |
Enable trace sinks for DL MAC layer
References ns3::Config::Connect().
Referenced by EnableMacTraces().
void ns3::LteHelper::EnableDlPdcpTraces | ( | void | ) |
Enable trace sinks for DL PDCP layer
References ns3::Config::Connect(), and NS_LOG_FUNCTION_NOARGS.
Referenced by EnablePdcpTraces().
void ns3::LteHelper::EnableDlRlcTraces | ( | void | ) |
Enable trace sinks for DL RLC layer
References ns3::Config::Connect(), and NS_LOG_FUNCTION_NOARGS.
Referenced by EnableRlcTraces().
void ns3::LteHelper::EnableLogComponents | ( | void | ) |
Enables logging for all components of the LENA architecture
References ns3::TypeId::GetName(), ns3::ObjectFactory::GetTypeId(), and ns3::LogComponentEnable().
void ns3::LteHelper::EnableMacTraces | ( | void | ) |
Enable trace sinks for MAC layer
References EnableDlMacTraces(), and EnableUlMacTraces().
Referenced by EnableTraces().
void ns3::LteHelper::EnablePdcpTraces | ( | void | ) |
Enable trace sinks for PDCP layer
References EnableDlPdcpTraces(), and EnableUlPdcpTraces().
Referenced by EnableTraces().
void ns3::LteHelper::EnableRlcTraces | ( | void | ) |
Enable trace sinks for RLC layer
References EnableDlRlcTraces(), and EnableUlRlcTraces().
Referenced by EnableTraces().
void ns3::LteHelper::EnableTraces | ( | void | ) |
Enables trace sinks for MAC, RLC and PDCP
References EnableMacTraces(), EnablePdcpTraces(), and EnableRlcTraces().
void ns3::LteHelper::EnableUlMacTraces | ( | void | ) |
Enable trace sinks for UL MAC layer
References ns3::Config::Connect().
Referenced by EnableMacTraces().
void ns3::LteHelper::EnableUlPdcpTraces | ( | void | ) |
Enable trace sinks for UL MAC layer
References ns3::Config::Connect().
Referenced by EnablePdcpTraces().
void ns3::LteHelper::EnableUlRlcTraces | ( | void | ) |
Enable trace sinks for UL MAC layer
References ns3::Config::Connect().
Referenced by EnableRlcTraces().
Ptr< RadioBearerStatsCalculator > ns3::LteHelper::GetPdcpStats | ( | void | ) |
Ptr< RadioBearerStatsCalculator > ns3::LteHelper::GetRlcStats | ( | void | ) |
bearer | the specification of an EPS bearer |
References ns3::EpsBearer::GetPacketErrorLossRate(), and GetTypeId().
Referenced by ActivateEpsBearer().
|
static |
This method returns the TypeId associated to ns3::LteHelper.
Attributes defined for this type:
No TraceSources defined for this type.
Reimplemented from ns3::Object.
References SetFadingModel(), ns3::TypeId::SetParent(), SetPathlossModelType(), and SetSchedulerType().
Referenced by GetRlcType().
NetDeviceContainer ns3::LteHelper::InstallEnbDevice | ( | NodeContainer | c | ) |
create a set of eNB devices
c | the node container where the devices are to be installed |
References ns3::NetDeviceContainer::Add(), ns3::NodeContainer::Begin(), ns3::NodeContainer::End(), NS_LOG_FUNCTION, and ns3::Object::Start().
Referenced by ns3::LteHexGridEnbTopologyHelper::SetPositionAndInstallEnbDevice().
NetDeviceContainer ns3::LteHelper::InstallUeDevice | ( | NodeContainer | c | ) |
create a set of UE devices
c | the node container where the devices are to be installed |
References ns3::NetDeviceContainer::Add(), ns3::NodeContainer::Begin(), ns3::NodeContainer::End(), and NS_LOG_FUNCTION.
void ns3::LteHelper::SetEnbAntennaModelAttribute | ( | std::string | n, |
const AttributeValue & | v | ||
) |
set an attribute for the AntennaModel to be used for the eNBs
n | the name of the attribute |
v | the value of the attribute |
References NS_LOG_FUNCTION, and ns3::ObjectFactory::Set().
Referenced by ns3::LteHexGridEnbTopologyHelper::SetPositionAndInstallEnbDevice().
void ns3::LteHelper::SetEnbAntennaModelType | ( | std::string | type | ) |
type | the type of AntennaModel to be used for the eNBs |
References NS_LOG_FUNCTION, and ns3::ObjectFactory::SetTypeId().
void ns3::LteHelper::SetEnbDeviceAttribute | ( | std::string | n, |
const AttributeValue & | v | ||
) |
set an attribute for the LteEnbNetDevice to be created
n | the name of the attribute |
v | the value of the attribute |
References NS_LOG_FUNCTION, and ns3::ObjectFactory::Set().
Set the EpcHelper to be used to setup the EPC network in conjunction with the setup of the LTE radio access network
h | a pointer to the EpcHelper to be used |
References NS_LOG_FUNCTION.
void ns3::LteHelper::SetFadingModel | ( | std::string | model | ) |
type | the fading model to be used |
References NS_LOG_FUNCTION, and ns3::ObjectFactory::SetTypeId().
Referenced by GetTypeId().
void ns3::LteHelper::SetFadingModelAttribute | ( | std::string | n, |
const AttributeValue & | v | ||
) |
set an attribute of the fading model
References ns3::ObjectFactory::Set().
void ns3::LteHelper::SetPathlossModelAttribute | ( | std::string | n, |
const AttributeValue & | v | ||
) |
set an attribute for the pathloss model to be created
n | the name of the attribute |
v | the value of the attribute |
References NS_LOG_FUNCTION, and ns3::ObjectFactory::Set().
void ns3::LteHelper::SetPathlossModelType | ( | std::string | type | ) |
type | the type of pathloss model to be used for the eNBs |
References NS_LOG_FUNCTION, and ns3::ObjectFactory::SetTypeId().
Referenced by GetTypeId().
void ns3::LteHelper::SetSchedulerAttribute | ( | std::string | n, |
const AttributeValue & | v | ||
) |
set an attribute for the scheduler to be created
n | the name of the attribute |
v | the value of the attribute |
References NS_LOG_FUNCTION, and ns3::ObjectFactory::Set().
void ns3::LteHelper::SetSchedulerType | ( | std::string | type | ) |
type | the type of scheduler to be used for the eNBs |
References NS_LOG_FUNCTION, and ns3::ObjectFactory::SetTypeId().
Referenced by GetTypeId().
void ns3::LteHelper::SetSpectrumChannelAttribute | ( | std::string | n, |
const AttributeValue & | v | ||
) |
set an attribute for the SpectrumChannel to be used for the UEs
n | the name of the attribute |
v | the value of the attribute |
References ns3::ObjectFactory::Set().
void ns3::LteHelper::SetSpectrumChannelType | ( | std::string | type | ) |
type | the type of SpectrumChannel to be used for the UEs |
References NS_LOG_FUNCTION, and ns3::ObjectFactory::SetTypeId().
void ns3::LteHelper::SetUeAntennaModelAttribute | ( | std::string | n, |
const AttributeValue & | v | ||
) |
set an attribute for the AntennaModel to be used for the UEs
n | the name of the attribute |
v | the value of the attribute |
References NS_LOG_FUNCTION, and ns3::ObjectFactory::Set().
void ns3::LteHelper::SetUeAntennaModelType | ( | std::string | type | ) |
type | the type of AntennaModel to be used for the UEs |
References NS_LOG_FUNCTION, and ns3::ObjectFactory::SetTypeId().