lte: minor modifications to prepare module for model refactoring
This commit is contained in:
@@ -13303,7 +13303,7 @@ def register_Ns3CcHelper_methods(root_module, cls):
|
||||
'void',
|
||||
[],
|
||||
is_virtual=True)
|
||||
## cc-helper.h (module 'lte'): std::map<unsigned char,ns3::Ptr<ns3::ComponentCarrier>,std::less<unsigned char>,std::allocator<std::pair<const unsigned char, ns3::Ptr<ns3::ComponentCarrier> > > > ns3::CcHelper::EquallySpacedCcs() [member function]
|
||||
## cc-helper.h (module 'lte'): std::map<unsigned char, ns3::Ptr<ns3::ComponentCarrier>, std::less<unsigned char>, std::allocator<std::pair<unsigned char const, ns3::Ptr<ns3::ComponentCarrier> > > > ns3::CcHelper::EquallySpacedCcs() [member function]
|
||||
cls.add_method('EquallySpacedCcs',
|
||||
'std::map< unsigned char, ns3::Ptr< ns3::ComponentCarrier > >',
|
||||
[])
|
||||
@@ -16072,6 +16072,10 @@ def register_Ns3LteEnbMac_methods(root_module, cls):
|
||||
cls.add_method('GetFfMacSchedSapUser',
|
||||
'ns3::FfMacSchedSapUser *',
|
||||
[])
|
||||
## lte-enb-mac.h (module 'lte'): ns3::LteCcmMacSapProvider * ns3::LteEnbMac::GetLteCcmMacSapProvider() [member function]
|
||||
cls.add_method('GetLteCcmMacSapProvider',
|
||||
'ns3::LteCcmMacSapProvider *',
|
||||
[])
|
||||
## lte-enb-mac.h (module 'lte'): ns3::LteEnbCmacSapProvider * ns3::LteEnbMac::GetLteEnbCmacSapProvider() [member function]
|
||||
cls.add_method('GetLteEnbCmacSapProvider',
|
||||
'ns3::LteEnbCmacSapProvider *',
|
||||
@@ -16101,6 +16105,10 @@ def register_Ns3LteEnbMac_methods(root_module, cls):
|
||||
cls.add_method('SetFfMacSchedSapProvider',
|
||||
'void',
|
||||
[param('ns3::FfMacSchedSapProvider *', 's')])
|
||||
## lte-enb-mac.h (module 'lte'): void ns3::LteEnbMac::SetLteCcmMacSapUser(ns3::LteCcmMacSapUser * s) [member function]
|
||||
cls.add_method('SetLteCcmMacSapUser',
|
||||
'void',
|
||||
[param('ns3::LteCcmMacSapUser *', 's')])
|
||||
## lte-enb-mac.h (module 'lte'): void ns3::LteEnbMac::SetLteEnbCmacSapUser(ns3::LteEnbCmacSapUser * s) [member function]
|
||||
cls.add_method('SetLteEnbCmacSapUser',
|
||||
'void',
|
||||
@@ -17445,6 +17453,16 @@ def register_Ns3LteHelper_methods(root_module, cls):
|
||||
cls.add_method('EnableUlTxPhyTraces',
|
||||
'void',
|
||||
[])
|
||||
## lte-helper.h (module 'lte'): ns3::Ptr<ns3::SpectrumChannel> ns3::LteHelper::GetDownlinkSpectrumChannel() const [member function]
|
||||
cls.add_method('GetDownlinkSpectrumChannel',
|
||||
'ns3::Ptr< ns3::SpectrumChannel >',
|
||||
[],
|
||||
is_const=True)
|
||||
## lte-helper.h (module 'lte'): std::string ns3::LteHelper::GetEnbComponentCarrierManagerType() const [member function]
|
||||
cls.add_method('GetEnbComponentCarrierManagerType',
|
||||
'std::string',
|
||||
[],
|
||||
is_const=True)
|
||||
## lte-helper.h (module 'lte'): std::string ns3::LteHelper::GetFfrAlgorithmType() const [member function]
|
||||
cls.add_method('GetFfrAlgorithmType',
|
||||
'std::string',
|
||||
@@ -17473,6 +17491,16 @@ def register_Ns3LteHelper_methods(root_module, cls):
|
||||
'ns3::TypeId',
|
||||
[],
|
||||
is_static=True)
|
||||
## lte-helper.h (module 'lte'): std::string ns3::LteHelper::GetUeComponentCarrierManagerType() const [member function]
|
||||
cls.add_method('GetUeComponentCarrierManagerType',
|
||||
'std::string',
|
||||
[],
|
||||
is_const=True)
|
||||
## lte-helper.h (module 'lte'): ns3::Ptr<ns3::SpectrumChannel> ns3::LteHelper::GetUplinkSpectrumChannel() const [member function]
|
||||
cls.add_method('GetUplinkSpectrumChannel',
|
||||
'ns3::Ptr< ns3::SpectrumChannel >',
|
||||
[],
|
||||
is_const=True)
|
||||
## lte-helper.h (module 'lte'): void ns3::LteHelper::HandoverRequest(ns3::Time hoTime, ns3::Ptr<ns3::NetDevice> ueDev, ns3::Ptr<ns3::NetDevice> sourceEnbDev, ns3::Ptr<ns3::NetDevice> targetEnbDev) [member function]
|
||||
cls.add_method('HandoverRequest',
|
||||
'void',
|
||||
@@ -17485,6 +17513,10 @@ def register_Ns3LteHelper_methods(root_module, cls):
|
||||
cls.add_method('InstallUeDevice',
|
||||
'ns3::NetDeviceContainer',
|
||||
[param('ns3::NodeContainer', 'c')])
|
||||
## lte-helper.h (module 'lte'): void ns3::LteHelper::SetCcPhyParams(std::map<unsigned char, ns3::Ptr<ns3::ComponentCarrier>, std::less<unsigned char>, std::allocator<std::pair<unsigned char const, ns3::Ptr<ns3::ComponentCarrier> > > > ccmap) [member function]
|
||||
cls.add_method('SetCcPhyParams',
|
||||
'void',
|
||||
[param('std::map< unsigned char, ns3::Ptr< ns3::ComponentCarrier > >', 'ccmap')])
|
||||
## lte-helper.h (module 'lte'): void ns3::LteHelper::SetEnbAntennaModelAttribute(std::string n, ns3::AttributeValue const & v) [member function]
|
||||
cls.add_method('SetEnbAntennaModelAttribute',
|
||||
'void',
|
||||
@@ -17493,6 +17525,14 @@ def register_Ns3LteHelper_methods(root_module, cls):
|
||||
cls.add_method('SetEnbAntennaModelType',
|
||||
'void',
|
||||
[param('std::string', 'type')])
|
||||
## lte-helper.h (module 'lte'): void ns3::LteHelper::SetEnbComponentCarrierManagerAttribute(std::string n, ns3::AttributeValue const & v) [member function]
|
||||
cls.add_method('SetEnbComponentCarrierManagerAttribute',
|
||||
'void',
|
||||
[param('std::string', 'n'), param('ns3::AttributeValue const &', 'v')])
|
||||
## lte-helper.h (module 'lte'): void ns3::LteHelper::SetEnbComponentCarrierManagerType(std::string type) [member function]
|
||||
cls.add_method('SetEnbComponentCarrierManagerType',
|
||||
'void',
|
||||
[param('std::string', 'type')])
|
||||
## lte-helper.h (module 'lte'): void ns3::LteHelper::SetEnbDeviceAttribute(std::string n, ns3::AttributeValue const & v) [member function]
|
||||
cls.add_method('SetEnbDeviceAttribute',
|
||||
'void',
|
||||
@@ -17557,6 +17597,14 @@ def register_Ns3LteHelper_methods(root_module, cls):
|
||||
cls.add_method('SetUeAntennaModelType',
|
||||
'void',
|
||||
[param('std::string', 'type')])
|
||||
## lte-helper.h (module 'lte'): void ns3::LteHelper::SetUeComponentCarrierManagerAttribute(std::string n, ns3::AttributeValue const & v) [member function]
|
||||
cls.add_method('SetUeComponentCarrierManagerAttribute',
|
||||
'void',
|
||||
[param('std::string', 'n'), param('ns3::AttributeValue const &', 'v')])
|
||||
## lte-helper.h (module 'lte'): void ns3::LteHelper::SetUeComponentCarrierManagerType(std::string type) [member function]
|
||||
cls.add_method('SetUeComponentCarrierManagerType',
|
||||
'void',
|
||||
[param('std::string', 'type')])
|
||||
## lte-helper.h (module 'lte'): void ns3::LteHelper::SetUeDeviceAttribute(std::string n, ns3::AttributeValue const & v) [member function]
|
||||
cls.add_method('SetUeDeviceAttribute',
|
||||
'void',
|
||||
|
||||
@@ -13303,7 +13303,7 @@ def register_Ns3CcHelper_methods(root_module, cls):
|
||||
'void',
|
||||
[],
|
||||
is_virtual=True)
|
||||
## cc-helper.h (module 'lte'): std::map<unsigned char,ns3::Ptr<ns3::ComponentCarrier>,std::less<unsigned char>,std::allocator<std::pair<const unsigned char, ns3::Ptr<ns3::ComponentCarrier> > > > ns3::CcHelper::EquallySpacedCcs() [member function]
|
||||
## cc-helper.h (module 'lte'): std::map<unsigned char, ns3::Ptr<ns3::ComponentCarrier>, std::less<unsigned char>, std::allocator<std::pair<unsigned char const, ns3::Ptr<ns3::ComponentCarrier> > > > ns3::CcHelper::EquallySpacedCcs() [member function]
|
||||
cls.add_method('EquallySpacedCcs',
|
||||
'std::map< unsigned char, ns3::Ptr< ns3::ComponentCarrier > >',
|
||||
[])
|
||||
@@ -16072,6 +16072,10 @@ def register_Ns3LteEnbMac_methods(root_module, cls):
|
||||
cls.add_method('GetFfMacSchedSapUser',
|
||||
'ns3::FfMacSchedSapUser *',
|
||||
[])
|
||||
## lte-enb-mac.h (module 'lte'): ns3::LteCcmMacSapProvider * ns3::LteEnbMac::GetLteCcmMacSapProvider() [member function]
|
||||
cls.add_method('GetLteCcmMacSapProvider',
|
||||
'ns3::LteCcmMacSapProvider *',
|
||||
[])
|
||||
## lte-enb-mac.h (module 'lte'): ns3::LteEnbCmacSapProvider * ns3::LteEnbMac::GetLteEnbCmacSapProvider() [member function]
|
||||
cls.add_method('GetLteEnbCmacSapProvider',
|
||||
'ns3::LteEnbCmacSapProvider *',
|
||||
@@ -16101,6 +16105,10 @@ def register_Ns3LteEnbMac_methods(root_module, cls):
|
||||
cls.add_method('SetFfMacSchedSapProvider',
|
||||
'void',
|
||||
[param('ns3::FfMacSchedSapProvider *', 's')])
|
||||
## lte-enb-mac.h (module 'lte'): void ns3::LteEnbMac::SetLteCcmMacSapUser(ns3::LteCcmMacSapUser * s) [member function]
|
||||
cls.add_method('SetLteCcmMacSapUser',
|
||||
'void',
|
||||
[param('ns3::LteCcmMacSapUser *', 's')])
|
||||
## lte-enb-mac.h (module 'lte'): void ns3::LteEnbMac::SetLteEnbCmacSapUser(ns3::LteEnbCmacSapUser * s) [member function]
|
||||
cls.add_method('SetLteEnbCmacSapUser',
|
||||
'void',
|
||||
@@ -17445,6 +17453,16 @@ def register_Ns3LteHelper_methods(root_module, cls):
|
||||
cls.add_method('EnableUlTxPhyTraces',
|
||||
'void',
|
||||
[])
|
||||
## lte-helper.h (module 'lte'): ns3::Ptr<ns3::SpectrumChannel> ns3::LteHelper::GetDownlinkSpectrumChannel() const [member function]
|
||||
cls.add_method('GetDownlinkSpectrumChannel',
|
||||
'ns3::Ptr< ns3::SpectrumChannel >',
|
||||
[],
|
||||
is_const=True)
|
||||
## lte-helper.h (module 'lte'): std::string ns3::LteHelper::GetEnbComponentCarrierManagerType() const [member function]
|
||||
cls.add_method('GetEnbComponentCarrierManagerType',
|
||||
'std::string',
|
||||
[],
|
||||
is_const=True)
|
||||
## lte-helper.h (module 'lte'): std::string ns3::LteHelper::GetFfrAlgorithmType() const [member function]
|
||||
cls.add_method('GetFfrAlgorithmType',
|
||||
'std::string',
|
||||
@@ -17473,6 +17491,16 @@ def register_Ns3LteHelper_methods(root_module, cls):
|
||||
'ns3::TypeId',
|
||||
[],
|
||||
is_static=True)
|
||||
## lte-helper.h (module 'lte'): std::string ns3::LteHelper::GetUeComponentCarrierManagerType() const [member function]
|
||||
cls.add_method('GetUeComponentCarrierManagerType',
|
||||
'std::string',
|
||||
[],
|
||||
is_const=True)
|
||||
## lte-helper.h (module 'lte'): ns3::Ptr<ns3::SpectrumChannel> ns3::LteHelper::GetUplinkSpectrumChannel() const [member function]
|
||||
cls.add_method('GetUplinkSpectrumChannel',
|
||||
'ns3::Ptr< ns3::SpectrumChannel >',
|
||||
[],
|
||||
is_const=True)
|
||||
## lte-helper.h (module 'lte'): void ns3::LteHelper::HandoverRequest(ns3::Time hoTime, ns3::Ptr<ns3::NetDevice> ueDev, ns3::Ptr<ns3::NetDevice> sourceEnbDev, ns3::Ptr<ns3::NetDevice> targetEnbDev) [member function]
|
||||
cls.add_method('HandoverRequest',
|
||||
'void',
|
||||
@@ -17485,6 +17513,10 @@ def register_Ns3LteHelper_methods(root_module, cls):
|
||||
cls.add_method('InstallUeDevice',
|
||||
'ns3::NetDeviceContainer',
|
||||
[param('ns3::NodeContainer', 'c')])
|
||||
## lte-helper.h (module 'lte'): void ns3::LteHelper::SetCcPhyParams(std::map<unsigned char, ns3::Ptr<ns3::ComponentCarrier>, std::less<unsigned char>, std::allocator<std::pair<unsigned char const, ns3::Ptr<ns3::ComponentCarrier> > > > ccmap) [member function]
|
||||
cls.add_method('SetCcPhyParams',
|
||||
'void',
|
||||
[param('std::map< unsigned char, ns3::Ptr< ns3::ComponentCarrier > >', 'ccmap')])
|
||||
## lte-helper.h (module 'lte'): void ns3::LteHelper::SetEnbAntennaModelAttribute(std::string n, ns3::AttributeValue const & v) [member function]
|
||||
cls.add_method('SetEnbAntennaModelAttribute',
|
||||
'void',
|
||||
@@ -17493,6 +17525,14 @@ def register_Ns3LteHelper_methods(root_module, cls):
|
||||
cls.add_method('SetEnbAntennaModelType',
|
||||
'void',
|
||||
[param('std::string', 'type')])
|
||||
## lte-helper.h (module 'lte'): void ns3::LteHelper::SetEnbComponentCarrierManagerAttribute(std::string n, ns3::AttributeValue const & v) [member function]
|
||||
cls.add_method('SetEnbComponentCarrierManagerAttribute',
|
||||
'void',
|
||||
[param('std::string', 'n'), param('ns3::AttributeValue const &', 'v')])
|
||||
## lte-helper.h (module 'lte'): void ns3::LteHelper::SetEnbComponentCarrierManagerType(std::string type) [member function]
|
||||
cls.add_method('SetEnbComponentCarrierManagerType',
|
||||
'void',
|
||||
[param('std::string', 'type')])
|
||||
## lte-helper.h (module 'lte'): void ns3::LteHelper::SetEnbDeviceAttribute(std::string n, ns3::AttributeValue const & v) [member function]
|
||||
cls.add_method('SetEnbDeviceAttribute',
|
||||
'void',
|
||||
@@ -17557,6 +17597,14 @@ def register_Ns3LteHelper_methods(root_module, cls):
|
||||
cls.add_method('SetUeAntennaModelType',
|
||||
'void',
|
||||
[param('std::string', 'type')])
|
||||
## lte-helper.h (module 'lte'): void ns3::LteHelper::SetUeComponentCarrierManagerAttribute(std::string n, ns3::AttributeValue const & v) [member function]
|
||||
cls.add_method('SetUeComponentCarrierManagerAttribute',
|
||||
'void',
|
||||
[param('std::string', 'n'), param('ns3::AttributeValue const &', 'v')])
|
||||
## lte-helper.h (module 'lte'): void ns3::LteHelper::SetUeComponentCarrierManagerType(std::string type) [member function]
|
||||
cls.add_method('SetUeComponentCarrierManagerType',
|
||||
'void',
|
||||
[param('std::string', 'type')])
|
||||
## lte-helper.h (module 'lte'): void ns3::LteHelper::SetUeDeviceAttribute(std::string n, ns3::AttributeValue const & v) [member function]
|
||||
cls.add_method('SetUeDeviceAttribute',
|
||||
'void',
|
||||
|
||||
@@ -45,6 +45,8 @@
|
||||
#include <ns3/ff-mac-scheduler.h>
|
||||
#include <ns3/lte-ffr-algorithm.h>
|
||||
#include <ns3/lte-handover-algorithm.h>
|
||||
#include <ns3/lte-enb-component-carrier-manager.h>
|
||||
#include <ns3/lte-ue-component-carrier-manager.h>
|
||||
#include <ns3/lte-anr.h>
|
||||
#include <ns3/lte-rlc.h>
|
||||
#include <ns3/lte-rlc-um.h>
|
||||
@@ -61,6 +63,9 @@
|
||||
#include <ns3/buildings-propagation-loss-model.h>
|
||||
#include <ns3/lte-spectrum-value-helper.h>
|
||||
#include <ns3/epc-x2.h>
|
||||
#include <ns3/pointer.h>
|
||||
#include <ns3/object-map.h>
|
||||
#include <ns3/object-factory.h>
|
||||
|
||||
namespace ns3 {
|
||||
|
||||
@@ -200,6 +205,34 @@ TypeId LteHelper::GetTypeId (void)
|
||||
BooleanValue (true),
|
||||
MakeBooleanAccessor (&LteHelper::m_usePdschForCqiGeneration),
|
||||
MakeBooleanChecker ())
|
||||
.AddAttribute ("EnbComponentCarrierManager",
|
||||
"The type of Component Carrier Manager to be used for eNBs. "
|
||||
"The allowed values for this attributes are the type names "
|
||||
"of any class inheriting ns3::LteEnbComponentCarrierManager.",
|
||||
StringValue ("ns3::NoOpComponentCarrierManager"),
|
||||
MakeStringAccessor (&LteHelper::SetEnbComponentCarrierManagerType,
|
||||
&LteHelper::GetEnbComponentCarrierManagerType),
|
||||
MakeStringChecker ())
|
||||
.AddAttribute ("UeComponentCarrierManager",
|
||||
"The type of Component Carrier Manager to be used for UEs. "
|
||||
"The allowed values for this attributes are the type names "
|
||||
"of any class inheriting ns3::LteUeComponentCarrierManager.",
|
||||
StringValue ("ns3::SimpleUeComponentCarrierManager"),
|
||||
MakeStringAccessor (&LteHelper::SetUeComponentCarrierManagerType,
|
||||
&LteHelper::GetUeComponentCarrierManagerType),
|
||||
MakeStringChecker ())
|
||||
.AddAttribute ("UseCa",
|
||||
"If true, Carrier Aggregation feature is enabled and a valid Component Carrier Map is expected."
|
||||
"If false, single carrier simulation.",
|
||||
BooleanValue (false),
|
||||
MakeBooleanAccessor (&LteHelper::m_useCa),
|
||||
MakeBooleanChecker ())
|
||||
.AddAttribute ("NumberOfComponentCarriers",
|
||||
"Set the number of Component carrier to use "
|
||||
"If it is more than one and m_useCa is false, it will raise an error ",
|
||||
UintegerValue (1),
|
||||
MakeUintegerAccessor (&LteHelper::m_noOfCcs),
|
||||
MakeUintegerChecker<uint16_t> (1, 3))
|
||||
;
|
||||
return tid;
|
||||
}
|
||||
@@ -213,6 +246,18 @@ LteHelper::DoDispose ()
|
||||
Object::DoDispose ();
|
||||
}
|
||||
|
||||
Ptr<SpectrumChannel>
|
||||
LteHelper::GetUplinkSpectrumChannel (void) const
|
||||
{
|
||||
return m_uplinkChannel;
|
||||
}
|
||||
|
||||
Ptr<SpectrumChannel>
|
||||
LteHelper::GetDownlinkSpectrumChannel (void) const
|
||||
{
|
||||
return m_downlinkChannel;
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
LteHelper::SetEpcHelper (Ptr<EpcHelper> h)
|
||||
@@ -285,8 +330,50 @@ LteHelper::SetHandoverAlgorithmAttribute (std::string n, const AttributeValue &v
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
LteHelper::SetPathlossModelType (std::string type)
|
||||
std::string
|
||||
LteHelper::GetEnbComponentCarrierManagerType () const
|
||||
{
|
||||
return m_enbComponentCarrierManagerFactory.GetTypeId ().GetName ();
|
||||
}
|
||||
|
||||
void
|
||||
LteHelper::SetEnbComponentCarrierManagerType (std::string type)
|
||||
{
|
||||
NS_LOG_FUNCTION (this << type);
|
||||
m_enbComponentCarrierManagerFactory = ObjectFactory ();
|
||||
m_enbComponentCarrierManagerFactory.SetTypeId (type);
|
||||
}
|
||||
|
||||
void
|
||||
LteHelper::SetEnbComponentCarrierManagerAttribute (std::string n, const AttributeValue &v)
|
||||
{
|
||||
NS_LOG_FUNCTION (this << n);
|
||||
m_enbComponentCarrierManagerFactory.Set (n, v);
|
||||
}
|
||||
|
||||
std::string
|
||||
LteHelper::GetUeComponentCarrierManagerType () const
|
||||
{
|
||||
return m_ueComponentCarrierManagerFactory.GetTypeId ().GetName ();
|
||||
}
|
||||
|
||||
void
|
||||
LteHelper::SetUeComponentCarrierManagerType (std::string type)
|
||||
{
|
||||
NS_LOG_FUNCTION (this << type);
|
||||
m_ueComponentCarrierManagerFactory = ObjectFactory ();
|
||||
m_ueComponentCarrierManagerFactory.SetTypeId (type);
|
||||
}
|
||||
|
||||
void
|
||||
LteHelper::SetUeComponentCarrierManagerAttribute (std::string n, const AttributeValue &v)
|
||||
{
|
||||
NS_LOG_FUNCTION (this << n);
|
||||
m_ueComponentCarrierManagerFactory.Set (n, v);
|
||||
}
|
||||
|
||||
void
|
||||
LteHelper::SetPathlossModelType (std::string type)
|
||||
{
|
||||
NS_LOG_FUNCTION (this << type);
|
||||
m_dlPathlossModelFactory = ObjectFactory ();
|
||||
@@ -377,6 +464,12 @@ LteHelper::SetSpectrumChannelAttribute (std::string n, const AttributeValue &v)
|
||||
m_channelFactory.Set (n, v);
|
||||
}
|
||||
|
||||
void
|
||||
LteHelper::SetCcPhyParams ( std::map< uint8_t, Ptr<ComponentCarrier> > ccMapParams)
|
||||
{
|
||||
NS_LOG_FUNCTION (this);
|
||||
m_componentCarrierPhyParams = ccMapParams;
|
||||
}
|
||||
|
||||
NetDeviceContainer
|
||||
LteHelper::InstallEnbDevice (NodeContainer c)
|
||||
|
||||
@@ -37,6 +37,9 @@
|
||||
#include <ns3/radio-bearer-stats-connector.h>
|
||||
#include <ns3/epc-tft.h>
|
||||
#include <ns3/mobility-model.h>
|
||||
#include <ns3/component-carrier-enb.h>
|
||||
#include <ns3/cc-helper.h>
|
||||
#include <map>
|
||||
|
||||
namespace ns3 {
|
||||
|
||||
@@ -76,6 +79,7 @@ class SpectrumPropagationLossModel;
|
||||
* * Handover algorithm
|
||||
* * FFR (frequency reuse) algorithm
|
||||
* * ANR (automatic neighbour relation)
|
||||
* * CCM (Carrier Component Manager)
|
||||
* + EPC related models (EPC application, Internet stack, X2 interface)
|
||||
* - UE node(s)
|
||||
* + Mobility model
|
||||
@@ -263,7 +267,15 @@ public:
|
||||
*/
|
||||
void SetUeAntennaModelAttribute (std::string n, const AttributeValue &v);
|
||||
|
||||
/**
|
||||
/**
|
||||
* This method is used to send the ComponentCarrier map created with CcHelper
|
||||
* to the helper, the structure will be used within InstallSingleEnbDevice
|
||||
*
|
||||
* \param ccmap, the component carrier map
|
||||
*/
|
||||
void SetCcPhyParams (std::map< uint8_t, Ptr<ComponentCarrier> > ccmap);
|
||||
|
||||
/**
|
||||
* Set the type of spectrum channel to be used in both DL and UL.
|
||||
*
|
||||
* \param type type of spectrum channel model, must be a type name of any
|
||||
@@ -280,6 +292,51 @@ public:
|
||||
*/
|
||||
void SetSpectrumChannelAttribute (std::string n, const AttributeValue &v);
|
||||
|
||||
/**
|
||||
* Set the type of carrier component algorithm to be used by eNodeB devices.
|
||||
*
|
||||
* \param type type of carrier component manager
|
||||
*
|
||||
*/
|
||||
void SetEnbComponentCarrierManagerType (std::string type);
|
||||
|
||||
/**
|
||||
*
|
||||
* \return the carrier enb component carrier manager type
|
||||
*/
|
||||
std::string GetEnbComponentCarrierManagerType () const;
|
||||
|
||||
/**
|
||||
* Set an attribute for the enb component carrier manager to be created.
|
||||
*
|
||||
* \param n the name of the attribute
|
||||
* \param v the value of the attribute
|
||||
*/
|
||||
void SetEnbComponentCarrierManagerAttribute (std::string n, const AttributeValue &v);
|
||||
|
||||
/**
|
||||
* Set the type of Component Carrier Manager to be used by Ue devices.
|
||||
*
|
||||
* \param type type of UE Component Carrier Manager
|
||||
*
|
||||
*/
|
||||
void SetUeComponentCarrierManagerType (std::string type);
|
||||
|
||||
|
||||
/**
|
||||
*
|
||||
* \return the carrier ue component carrier manager type
|
||||
*/
|
||||
std::string GetUeComponentCarrierManagerType () const;
|
||||
|
||||
/**
|
||||
* Set an attribute for the ue component carrier manager to be created.
|
||||
*
|
||||
* \param n the name of the attribute
|
||||
* \param v the value of the attribute
|
||||
*/
|
||||
void SetUeComponentCarrierManagerAttribute (std::string n, const AttributeValue &v);
|
||||
|
||||
/**
|
||||
* Create a set of eNodeB devices.
|
||||
*
|
||||
@@ -590,6 +647,18 @@ public:
|
||||
*/
|
||||
int64_t AssignStreams (NetDeviceContainer c, int64_t stream);
|
||||
|
||||
/**
|
||||
* \return a pointer to the SpectrumChannel instance used for the uplink
|
||||
*/
|
||||
Ptr<SpectrumChannel> GetUplinkSpectrumChannel (void) const;
|
||||
|
||||
|
||||
/**
|
||||
* \return a pointer to the SpectrumChannel instance used for the downlink
|
||||
*/
|
||||
Ptr<SpectrumChannel> GetDownlinkSpectrumChannel (void) const;
|
||||
|
||||
|
||||
protected:
|
||||
// inherited from Object
|
||||
virtual void DoInitialize (void);
|
||||
@@ -653,6 +722,10 @@ private:
|
||||
ObjectFactory m_ffrAlgorithmFactory;
|
||||
/// Factory of handover algorithm object.
|
||||
ObjectFactory m_handoverAlgorithmFactory;
|
||||
/// Factory of enb component carrier manager object.
|
||||
ObjectFactory m_enbComponentCarrierManagerFactory;
|
||||
/// Factory of ue component carrier manager object.
|
||||
ObjectFactory m_ueComponentCarrierManagerFactory;
|
||||
/// Factory of LteEnbNetDevice objects.
|
||||
ObjectFactory m_enbNetDeviceFactory;
|
||||
/// Factory of antenna object for eNodeB.
|
||||
@@ -732,7 +805,22 @@ private:
|
||||
*/
|
||||
bool m_usePdschForCqiGeneration;
|
||||
|
||||
}; // end of `class LteHelper`
|
||||
/**
|
||||
* The `UseCa` attribute. If true, Carrier Aggregation is enabled.
|
||||
* Hence, the helper will expec a valid component carrier map
|
||||
* If it is false, the component carrier will be created within the LteHelper
|
||||
* this is to mantain the backwards compatibility with user script
|
||||
*/
|
||||
bool m_useCa;
|
||||
|
||||
/**
|
||||
* This contains all the information about each component carrier
|
||||
*/
|
||||
std::map< uint8_t, Ptr<ComponentCarrier> > m_componentCarrierPhyParams;
|
||||
|
||||
uint16_t m_noOfCcs;
|
||||
|
||||
}; // end of `class LteHelper`
|
||||
|
||||
|
||||
} // namespace ns3
|
||||
|
||||
@@ -38,6 +38,7 @@
|
||||
#include <ns3/lte-ue-phy.h>
|
||||
|
||||
#include "ns3/lte-mac-sap.h"
|
||||
#include "ns3/lte-enb-cmac-sap.h"
|
||||
#include <ns3/lte-common.h>
|
||||
|
||||
|
||||
@@ -353,7 +354,8 @@ LteEnbMac::GetTypeId (void)
|
||||
}
|
||||
|
||||
|
||||
LteEnbMac::LteEnbMac ()
|
||||
LteEnbMac::LteEnbMac ():
|
||||
m_ccmMacSapUser (0)
|
||||
{
|
||||
NS_LOG_FUNCTION (this);
|
||||
m_macSapProvider = new EnbMacMemberLteMacSapProvider<LteEnbMac> (this);
|
||||
@@ -361,6 +363,7 @@ LteEnbMac::LteEnbMac ()
|
||||
m_schedSapUser = new EnbMacMemberFfMacSchedSapUser (this);
|
||||
m_cschedSapUser = new EnbMacMemberFfMacCschedSapUser (this);
|
||||
m_enbPhySapUser = new EnbMacMemberLteEnbPhySapUser (this);
|
||||
m_ccmMacSapProvider = new MemberLteCcmMacSapProvider<LteEnbMac> (this);
|
||||
}
|
||||
|
||||
|
||||
@@ -384,6 +387,7 @@ LteEnbMac::DoDispose ()
|
||||
delete m_schedSapUser;
|
||||
delete m_cschedSapUser;
|
||||
delete m_enbPhySapUser;
|
||||
delete m_ccmMacSapProvider;
|
||||
}
|
||||
|
||||
void
|
||||
@@ -455,8 +459,19 @@ LteEnbMac::GetLteEnbPhySapUser ()
|
||||
return m_enbPhySapUser;
|
||||
}
|
||||
|
||||
void
|
||||
LteEnbMac::SetLteCcmMacSapUser (LteCcmMacSapUser* s)
|
||||
{
|
||||
m_ccmMacSapUser = s;
|
||||
}
|
||||
|
||||
|
||||
LteCcmMacSapProvider*
|
||||
LteEnbMac::GetLteCcmMacSapProvider ()
|
||||
{
|
||||
return m_ccmMacSapProvider;
|
||||
}
|
||||
|
||||
void
|
||||
LteEnbMac::DoSubframeIndication (uint32_t frameNo, uint32_t subframeNo)
|
||||
{
|
||||
@@ -680,6 +695,16 @@ LteEnbMac::ReceiveBsrMessage (MacCeListElement_s bsr)
|
||||
m_ulCeReceived.push_back (bsr);
|
||||
}
|
||||
|
||||
void
|
||||
LteEnbMac::DoReportMacCeToScheduler (MacCeListElement_s bsr)
|
||||
{
|
||||
NS_LOG_FUNCTION (this);
|
||||
NS_LOG_DEBUG (this << " bsr Size " << (uint16_t) m_ulCeReceived.size ());
|
||||
//send to LteCcmMacSapUser
|
||||
m_ulCeReceived.push_back (bsr); // this to called when LteUlCcmSapProvider::ReportMacCeToScheduler is called
|
||||
NS_LOG_DEBUG (this << " bsr Size after push_back " << (uint16_t) m_ulCeReceived.size ());
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
LteEnbMac::DoReceivePhyPdu (Ptr<Packet> p)
|
||||
|
||||
@@ -38,6 +38,7 @@
|
||||
#include "ns3/trace-source-accessor.h"
|
||||
#include <ns3/packet.h>
|
||||
#include <ns3/packet-burst.h>
|
||||
#include <ns3/lte-ccm-mac-sap.h>
|
||||
|
||||
namespace ns3 {
|
||||
|
||||
@@ -57,6 +58,7 @@ class LteEnbMac : public Object
|
||||
friend class EnbMacMemberFfMacSchedSapUser;
|
||||
friend class EnbMacMemberFfMacCschedSapUser;
|
||||
friend class EnbMacMemberLteEnbPhySapUser;
|
||||
friend class MemberLteCcmMacSapProvider<LteEnbMac>;
|
||||
|
||||
public:
|
||||
static TypeId GetTypeId (void);
|
||||
@@ -123,6 +125,19 @@ public:
|
||||
*/
|
||||
void SetLteEnbPhySapProvider (LteEnbPhySapProvider* s);
|
||||
|
||||
/**
|
||||
* \brief Get the eNB-ComponetCarrierManager SAP User
|
||||
* \return a pointer to the SAP User of the ComponetCarrierManager
|
||||
*/
|
||||
LteCcmMacSapProvider* GetLteCcmMacSapProvider ();
|
||||
|
||||
/**
|
||||
* \brief Set the ComponentCarrierManager SAP user
|
||||
* \param s a pointer to the ComponentCarrierManager provider
|
||||
*/
|
||||
void SetLteCcmMacSapUser (LteCcmMacSapUser* s);
|
||||
|
||||
|
||||
/**
|
||||
* TracedCallback signature for DL scheduling events.
|
||||
*
|
||||
@@ -207,6 +222,9 @@ private:
|
||||
void DoSubframeIndication (uint32_t frameNo, uint32_t subframeNo);
|
||||
void DoReceiveRachPreamble (uint8_t prachId);
|
||||
|
||||
// forwarded by LteCcmMacSapProvider
|
||||
void DoReportMacCeToScheduler (MacCeListElement_s bsr);
|
||||
|
||||
public:
|
||||
// legacy public for use the Phy callback
|
||||
void DoReceivePhyPdu (Ptr<Packet> p);
|
||||
@@ -249,6 +267,9 @@ private:
|
||||
LteEnbPhySapProvider* m_enbPhySapProvider;
|
||||
LteEnbPhySapUser* m_enbPhySapUser;
|
||||
|
||||
// Sap For ComponentCarrierManager 'Uplink case'
|
||||
LteCcmMacSapProvider* m_ccmMacSapProvider;
|
||||
LteCcmMacSapUser* m_ccmMacSapUser;
|
||||
/**
|
||||
* frame number of current subframe indication
|
||||
*/
|
||||
|
||||
@@ -194,6 +194,13 @@ LteUeNetDevice::GetPhy (void) const
|
||||
return m_phy;
|
||||
}
|
||||
|
||||
Ptr<LteUeComponentCarrierManager>
|
||||
LteUeNetDevice::GetComponentCarrierManager (void) const
|
||||
{
|
||||
NS_LOG_FUNCTION (this);
|
||||
return m_componentCarrierManager;
|
||||
}
|
||||
|
||||
Ptr<EpcUeNas>
|
||||
LteUeNetDevice::GetNas (void) const
|
||||
{
|
||||
@@ -281,7 +288,7 @@ LteUeNetDevice::Send (Ptr<Packet> packet, const Address& dest, uint16_t protocol
|
||||
NS_LOG_FUNCTION (this << dest << protocolNumber);
|
||||
if (protocolNumber != Ipv4L3Protocol::PROT_NUMBER)
|
||||
{
|
||||
NS_LOG_INFO("unsupported protocol " << protocolNumber << ", only IPv4 is supported");
|
||||
NS_LOG_INFO ("unsupported protocol " << protocolNumber << ", only IPv4 is supported");
|
||||
return true;
|
||||
}
|
||||
return m_nas->Send (packet);
|
||||
|
||||
Reference in New Issue
Block a user