lte: add ComponentCarrier classes for UE/eNb net devices, add DlScheduling struct

This commit is contained in:
Danilo Abrignani
2017-01-19 23:07:15 +01:00
parent 5eb935c41f
commit 4a81a6c289
18 changed files with 1573 additions and 39 deletions

View File

@@ -1,10 +1,6 @@
callback_classes = [
['void', 'ns3::Ptr<ns3::Packet>', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty'],
['void', 'unsigned short', 'ns3::Ptr<ns3::SpectrumValue>', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty'],
['void', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty'],
['void', 'ns3::UlInfoListElement_s', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty'],
['void', 'ns3::DlInfoListElement_s', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty'],
['void', 'std::list<ns3::Ptr<ns3::LteControlMessage>, std::allocator<ns3::Ptr<ns3::LteControlMessage> > >', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty'],
['bool', 'ns3::Ptr<ns3::NetDevice>', 'ns3::Ptr<ns3::Packet const>', 'unsigned short', 'ns3::Address const&', 'ns3::Address const&', 'ns3::NetDevice::PacketType', 'ns3::empty', 'ns3::empty', 'ns3::empty'],
['bool', 'ns3::Ptr<ns3::NetDevice>', 'ns3::Ptr<ns3::Packet const>', 'unsigned short', 'ns3::Address const&', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty'],
['bool', 'ns3::Ptr<ns3::Packet>', 'ns3::Address const&', 'ns3::Address const&', 'unsigned short', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty'],
@@ -13,5 +9,9 @@ callback_classes = [
['void', 'ns3::Ptr<ns3::Socket>', 'unsigned int', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty'],
['void', 'ns3::Ptr<ns3::Socket>', 'ns3::Address const&', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty'],
['bool', 'ns3::Ptr<ns3::Socket>', 'ns3::Address const&', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty'],
['void', 'unsigned short', 'ns3::Ptr<ns3::SpectrumValue>', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty'],
['void', 'ns3::UlInfoListElement_s', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty'],
['void', 'ns3::DlInfoListElement_s', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty'],
['void', 'std::list<ns3::Ptr<ns3::LteControlMessage>, std::allocator<ns3::Ptr<ns3::LteControlMessage> > >', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty'],
['unsigned char', 'ns3::Ptr<ns3::QueueItem>', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty', 'ns3::empty'],
]

View File

@@ -94,6 +94,8 @@ def register_types(module):
module.add_class('DlInfoListElement_s')
## ff-mac-common.h (module 'lte'): ns3::DlInfoListElement_s::HarqStatus_e [enumeration]
module.add_enum('HarqStatus_e', ['ACK', 'NACK', 'DTX'], outer_class=root_module['ns3::DlInfoListElement_s'])
## lte-common.h (module 'lte'): ns3::DlSchedulingCallbackInfo [struct]
module.add_class('DlSchedulingCallbackInfo')
## ff-mac-common.h (module 'lte'): ns3::DrxConfig_s [struct]
module.add_class('DrxConfig_s')
## epc-enb-s1-sap.h (module 'lte'): ns3::EpcEnbS1SapProvider [class]
@@ -954,6 +956,12 @@ def register_types(module):
module.add_class('CallbackValue', import_from_module='ns.core', parent=root_module['ns3::AttributeValue'])
## channel.h (module 'network'): ns3::Channel [class]
module.add_class('Channel', import_from_module='ns.network', parent=root_module['ns3::Object'])
## component-carrier.h (module 'lte'): ns3::ComponentCarrier [class]
module.add_class('ComponentCarrier', parent=root_module['ns3::Object'])
## component-carrier-enb.h (module 'lte'): ns3::ComponentCarrierEnb [class]
module.add_class('ComponentCarrierEnb', parent=root_module['ns3::ComponentCarrier'])
## component-carrier-ue.h (module 'lte'): ns3::ComponentCarrierUe [class]
module.add_class('ComponentCarrierUe', parent=root_module['ns3::ComponentCarrier'])
## random-variable-stream.h (module 'core'): ns3::ConstantRandomVariable [class]
module.add_class('ConstantRandomVariable', import_from_module='ns.core', parent=root_module['ns3::RandomVariableStream'])
## data-calculator.h (module 'stats'): ns3::DataCalculator [class]
@@ -1402,6 +1410,8 @@ def register_types(module):
module.add_container('std::map< unsigned int, unsigned int >', ('unsigned int', 'unsigned int'), container_type=u'map')
module.add_container('std::list< ns3::Ptr< ns3::LteControlMessage > >', 'ns3::Ptr< ns3::LteControlMessage >', container_type=u'list')
module.add_container('std::list< ns3::UlDciLteControlMessage >', 'ns3::UlDciLteControlMessage', container_type=u'list')
module.add_container('std::map< unsigned char, ns3::Ptr< ns3::ComponentCarrierUe > >', ('unsigned char', 'ns3::Ptr< ns3::ComponentCarrierUe >'), container_type=u'map')
module.add_container('std::map< unsigned char, ns3::Ptr< ns3::ComponentCarrierEnb > >', ('unsigned char', 'ns3::Ptr< ns3::ComponentCarrierEnb >'), container_type=u'map')
typehandlers.add_type_alias(u'std::map< ns3::ImsiLcidPair_t, unsigned int, std::less< ns3::ImsiLcidPair_t >, std::allocator< std::pair< ns3::ImsiLcidPair_t const, unsigned int > > >', u'ns3::Uint32Map')
typehandlers.add_type_alias(u'std::map< ns3::ImsiLcidPair_t, unsigned int, std::less< ns3::ImsiLcidPair_t >, std::allocator< std::pair< ns3::ImsiLcidPair_t const, unsigned int > > >*', u'ns3::Uint32Map*')
typehandlers.add_type_alias(u'std::map< ns3::ImsiLcidPair_t, unsigned int, std::less< ns3::ImsiLcidPair_t >, std::allocator< std::pair< ns3::ImsiLcidPair_t const, unsigned int > > >&', u'ns3::Uint32Map&')
@@ -1417,9 +1427,6 @@ def register_types(module):
typehandlers.add_type_alias(u'std::vector< ns3::HarqProcessInfoElement_t, std::allocator< ns3::HarqProcessInfoElement_t > >', u'ns3::HarqProcessInfoList_t')
typehandlers.add_type_alias(u'std::vector< ns3::HarqProcessInfoElement_t, std::allocator< ns3::HarqProcessInfoElement_t > >*', u'ns3::HarqProcessInfoList_t*')
typehandlers.add_type_alias(u'std::vector< ns3::HarqProcessInfoElement_t, std::allocator< ns3::HarqProcessInfoElement_t > >&', u'ns3::HarqProcessInfoList_t&')
typehandlers.add_type_alias(u'ns3::Callback< void, unsigned short, ns3::Ptr< ns3::SpectrumValue >, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty >', u'ns3::LtePhyRxPssCallback')
typehandlers.add_type_alias(u'ns3::Callback< void, unsigned short, ns3::Ptr< ns3::SpectrumValue >, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty >*', u'ns3::LtePhyRxPssCallback*')
typehandlers.add_type_alias(u'ns3::Callback< void, unsigned short, ns3::Ptr< ns3::SpectrumValue >, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty >&', u'ns3::LtePhyRxPssCallback&')
typehandlers.add_type_alias(u'ns3::Callback< void, ns3::Ptr< ns3::Packet const >, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty >', u'ns3::LtePhyTxEndCallback')
typehandlers.add_type_alias(u'ns3::Callback< void, ns3::Ptr< ns3::Packet const >, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty >*', u'ns3::LtePhyTxEndCallback*')
typehandlers.add_type_alias(u'ns3::Callback< void, ns3::Ptr< ns3::Packet const >, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty >&', u'ns3::LtePhyTxEndCallback&')
@@ -1447,9 +1454,6 @@ def register_types(module):
typehandlers.add_type_alias(u'std::vector< unsigned char, std::allocator< unsigned char > >', u'ns3::DlHarqProcessesStatus_t')
typehandlers.add_type_alias(u'std::vector< unsigned char, std::allocator< unsigned char > >*', u'ns3::DlHarqProcessesStatus_t*')
typehandlers.add_type_alias(u'std::vector< unsigned char, std::allocator< unsigned char > >&', u'ns3::DlHarqProcessesStatus_t&')
typehandlers.add_type_alias(u'ns3::Callback< bool, ns3::Ptr< ns3::Packet >, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty >', u'ns3::GenericPhyTxStartCallback')
typehandlers.add_type_alias(u'ns3::Callback< bool, ns3::Ptr< ns3::Packet >, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty >*', u'ns3::GenericPhyTxStartCallback*')
typehandlers.add_type_alias(u'ns3::Callback< bool, ns3::Ptr< ns3::Packet >, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty >&', u'ns3::GenericPhyTxStartCallback&')
typehandlers.add_type_alias(u'std::vector< ns3::BandInfo, std::allocator< ns3::BandInfo > >', u'ns3::Bands')
typehandlers.add_type_alias(u'std::vector< ns3::BandInfo, std::allocator< ns3::BandInfo > >*', u'ns3::Bands*')
typehandlers.add_type_alias(u'std::vector< ns3::BandInfo, std::allocator< ns3::BandInfo > >&', u'ns3::Bands&')
@@ -1463,9 +1467,9 @@ def register_types(module):
typehandlers.add_type_alias(u'ns3::Vector3D*', u'ns3::Vector*')
typehandlers.add_type_alias(u'ns3::Vector3D&', u'ns3::Vector&')
module.add_typedef(root_module['ns3::Vector3D'], 'Vector')
typehandlers.add_type_alias(u'void ( * ) ( std::ostream & ) *', u'ns3::LogTimePrinter')
typehandlers.add_type_alias(u'void ( * ) ( std::ostream & ) **', u'ns3::LogTimePrinter*')
typehandlers.add_type_alias(u'void ( * ) ( std::ostream & ) *&', u'ns3::LogTimePrinter&')
typehandlers.add_type_alias(u'ns3::Callback< bool, ns3::Ptr< ns3::Packet >, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty >', u'ns3::GenericPhyTxStartCallback')
typehandlers.add_type_alias(u'ns3::Callback< bool, ns3::Ptr< ns3::Packet >, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty >*', u'ns3::GenericPhyTxStartCallback*')
typehandlers.add_type_alias(u'ns3::Callback< bool, ns3::Ptr< ns3::Packet >, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty >&', u'ns3::GenericPhyTxStartCallback&')
typehandlers.add_type_alias(u'ns3::Vector3DValue', u'ns3::VectorValue')
typehandlers.add_type_alias(u'ns3::Vector3DValue*', u'ns3::VectorValue*')
typehandlers.add_type_alias(u'ns3::Vector3DValue&', u'ns3::VectorValue&')
@@ -1504,12 +1508,18 @@ def register_types(module):
typehandlers.add_type_alias(u'ns3::Vector3DChecker*', u'ns3::VectorChecker*')
typehandlers.add_type_alias(u'ns3::Vector3DChecker&', u'ns3::VectorChecker&')
module.add_typedef(root_module['ns3::Vector3DChecker'], 'VectorChecker')
typehandlers.add_type_alias(u'void ( * ) ( std::ostream & ) *', u'ns3::LogTimePrinter')
typehandlers.add_type_alias(u'void ( * ) ( std::ostream & ) **', u'ns3::LogTimePrinter*')
typehandlers.add_type_alias(u'void ( * ) ( std::ostream & ) *&', u'ns3::LogTimePrinter&')
typehandlers.add_type_alias(u'std::vector< unsigned char, std::allocator< unsigned char > >', u'ns3::DlHarqProcessesTimer_t')
typehandlers.add_type_alias(u'std::vector< unsigned char, std::allocator< unsigned char > >*', u'ns3::DlHarqProcessesTimer_t*')
typehandlers.add_type_alias(u'std::vector< unsigned char, std::allocator< unsigned char > >&', u'ns3::DlHarqProcessesTimer_t&')
typehandlers.add_type_alias(u'std::map< ns3::ImsiLcidPair_t, ns3::Ptr< ns3::MinMaxAvgTotalCalculator< unsigned int > >, std::less< ns3::ImsiLcidPair_t >, std::allocator< std::pair< ns3::ImsiLcidPair_t const, ns3::Ptr< ns3::MinMaxAvgTotalCalculator< unsigned int > > > > >', u'ns3::Uint32StatsMap')
typehandlers.add_type_alias(u'std::map< ns3::ImsiLcidPair_t, ns3::Ptr< ns3::MinMaxAvgTotalCalculator< unsigned int > >, std::less< ns3::ImsiLcidPair_t >, std::allocator< std::pair< ns3::ImsiLcidPair_t const, ns3::Ptr< ns3::MinMaxAvgTotalCalculator< unsigned int > > > > >*', u'ns3::Uint32StatsMap*')
typehandlers.add_type_alias(u'std::map< ns3::ImsiLcidPair_t, ns3::Ptr< ns3::MinMaxAvgTotalCalculator< unsigned int > >, std::less< ns3::ImsiLcidPair_t >, std::allocator< std::pair< ns3::ImsiLcidPair_t const, ns3::Ptr< ns3::MinMaxAvgTotalCalculator< unsigned int > > > > >&', u'ns3::Uint32StatsMap&')
typehandlers.add_type_alias(u'ns3::Callback< void, unsigned short, ns3::Ptr< ns3::SpectrumValue >, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty >', u'ns3::LtePhyRxPssCallback')
typehandlers.add_type_alias(u'ns3::Callback< void, unsigned short, ns3::Ptr< ns3::SpectrumValue >, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty >*', u'ns3::LtePhyRxPssCallback*')
typehandlers.add_type_alias(u'ns3::Callback< void, unsigned short, ns3::Ptr< ns3::SpectrumValue >, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty >&', u'ns3::LtePhyRxPssCallback&')
typehandlers.add_type_alias(u'ns3::Callback< void, ns3::Ptr< ns3::Packet >, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty >', u'ns3::GenericPhyRxEndOkCallback')
typehandlers.add_type_alias(u'ns3::Callback< void, ns3::Ptr< ns3::Packet >, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty >*', u'ns3::GenericPhyRxEndOkCallback*')
typehandlers.add_type_alias(u'ns3::Callback< void, ns3::Ptr< ns3::Packet >, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty >&', u'ns3::GenericPhyRxEndOkCallback&')
@@ -1656,6 +1666,7 @@ def register_methods(root_module):
register_Ns3DataRate_methods(root_module, root_module['ns3::DataRate'])
register_Ns3DlDciListElement_s_methods(root_module, root_module['ns3::DlDciListElement_s'])
register_Ns3DlInfoListElement_s_methods(root_module, root_module['ns3::DlInfoListElement_s'])
register_Ns3DlSchedulingCallbackInfo_methods(root_module, root_module['ns3::DlSchedulingCallbackInfo'])
register_Ns3DrxConfig_s_methods(root_module, root_module['ns3::DrxConfig_s'])
register_Ns3EpcEnbS1SapProvider_methods(root_module, root_module['ns3::EpcEnbS1SapProvider'])
register_Ns3EpcEnbS1SapProviderBearerToBeSwitched_methods(root_module, root_module['ns3::EpcEnbS1SapProvider::BearerToBeSwitched'])
@@ -2019,6 +2030,9 @@ def register_methods(root_module):
register_Ns3CallbackImplBase_methods(root_module, root_module['ns3::CallbackImplBase'])
register_Ns3CallbackValue_methods(root_module, root_module['ns3::CallbackValue'])
register_Ns3Channel_methods(root_module, root_module['ns3::Channel'])
register_Ns3ComponentCarrier_methods(root_module, root_module['ns3::ComponentCarrier'])
register_Ns3ComponentCarrierEnb_methods(root_module, root_module['ns3::ComponentCarrierEnb'])
register_Ns3ComponentCarrierUe_methods(root_module, root_module['ns3::ComponentCarrierUe'])
register_Ns3ConstantRandomVariable_methods(root_module, root_module['ns3::ConstantRandomVariable'])
register_Ns3DataCalculator_methods(root_module, root_module['ns3::DataCalculator'])
register_Ns3DataOutputInterface_methods(root_module, root_module['ns3::DataOutputInterface'])
@@ -2976,6 +2990,29 @@ def register_Ns3DlInfoListElement_s_methods(root_module, cls):
cls.add_instance_attribute('m_rnti', 'uint16_t', is_const=False)
return
def register_Ns3DlSchedulingCallbackInfo_methods(root_module, cls):
## lte-common.h (module 'lte'): ns3::DlSchedulingCallbackInfo::DlSchedulingCallbackInfo() [constructor]
cls.add_constructor([])
## lte-common.h (module 'lte'): ns3::DlSchedulingCallbackInfo::DlSchedulingCallbackInfo(ns3::DlSchedulingCallbackInfo const & arg0) [copy constructor]
cls.add_constructor([param('ns3::DlSchedulingCallbackInfo const &', 'arg0')])
## lte-common.h (module 'lte'): ns3::DlSchedulingCallbackInfo::componentCarrierId [variable]
cls.add_instance_attribute('componentCarrierId', 'uint8_t', is_const=False)
## lte-common.h (module 'lte'): ns3::DlSchedulingCallbackInfo::frameNo [variable]
cls.add_instance_attribute('frameNo', 'uint32_t', is_const=False)
## lte-common.h (module 'lte'): ns3::DlSchedulingCallbackInfo::mcsTb1 [variable]
cls.add_instance_attribute('mcsTb1', 'uint8_t', is_const=False)
## lte-common.h (module 'lte'): ns3::DlSchedulingCallbackInfo::mcsTb2 [variable]
cls.add_instance_attribute('mcsTb2', 'uint8_t', is_const=False)
## lte-common.h (module 'lte'): ns3::DlSchedulingCallbackInfo::rnti [variable]
cls.add_instance_attribute('rnti', 'uint16_t', is_const=False)
## lte-common.h (module 'lte'): ns3::DlSchedulingCallbackInfo::sizeTb1 [variable]
cls.add_instance_attribute('sizeTb1', 'uint16_t', is_const=False)
## lte-common.h (module 'lte'): ns3::DlSchedulingCallbackInfo::sizeTb2 [variable]
cls.add_instance_attribute('sizeTb2', 'uint16_t', is_const=False)
## lte-common.h (module 'lte'): ns3::DlSchedulingCallbackInfo::subframeNo [variable]
cls.add_instance_attribute('subframeNo', 'uint32_t', is_const=False)
return
def register_Ns3DrxConfig_s_methods(root_module, cls):
## ff-mac-common.h (module 'lte'): ns3::DrxConfig_s::DrxConfig_s() [constructor]
cls.add_constructor([])
@@ -8994,8 +9031,8 @@ def register_Ns3FdtbfqsFlowPerf_t_methods(root_module, cls):
return
def register_Ns3Int64x64_t_methods(root_module, cls):
cls.add_binary_comparison_operator('!=')
cls.add_binary_comparison_operator('<=')
cls.add_binary_comparison_operator('!=')
cls.add_inplace_numeric_operator('+=', param('ns3::int64x64_t const &', u'right'))
cls.add_binary_numeric_operator('*', root_module['ns3::int64x64_t'], root_module['ns3::int64x64_t'], param('ns3::int64x64_t const &', u'right'))
cls.add_binary_numeric_operator('+', root_module['ns3::int64x64_t'], root_module['ns3::int64x64_t'], param('ns3::int64x64_t const &', u'right'))
@@ -11537,8 +11574,8 @@ def register_Ns3SpectrumValue_methods(root_module, cls):
return
def register_Ns3Time_methods(root_module, cls):
cls.add_binary_comparison_operator('!=')
cls.add_binary_comparison_operator('<=')
cls.add_binary_comparison_operator('!=')
cls.add_inplace_numeric_operator('+=', param('ns3::Time const &', u'right'))
cls.add_binary_numeric_operator('*', root_module['ns3::Time'], root_module['ns3::Time'], param('int64_t const &', u'right'))
cls.add_binary_numeric_operator('+', root_module['ns3::Time'], root_module['ns3::Time'], param('ns3::Time const &', u'right'))
@@ -12764,6 +12801,193 @@ def register_Ns3Channel_methods(root_module, cls):
is_static=True)
return
def register_Ns3ComponentCarrier_methods(root_module, cls):
## component-carrier.h (module 'lte'): ns3::ComponentCarrier::ComponentCarrier(ns3::ComponentCarrier const & arg0) [copy constructor]
cls.add_constructor([param('ns3::ComponentCarrier const &', 'arg0')])
## component-carrier.h (module 'lte'): ns3::ComponentCarrier::ComponentCarrier() [constructor]
cls.add_constructor([])
## component-carrier.h (module 'lte'): void ns3::ComponentCarrier::DoDispose() [member function]
cls.add_method('DoDispose',
'void',
[],
is_virtual=True)
## component-carrier.h (module 'lte'): uint32_t ns3::ComponentCarrier::GetCsgId() const [member function]
cls.add_method('GetCsgId',
'uint32_t',
[],
is_const=True)
## component-carrier.h (module 'lte'): bool ns3::ComponentCarrier::GetCsgIndication() const [member function]
cls.add_method('GetCsgIndication',
'bool',
[],
is_const=True)
## component-carrier.h (module 'lte'): uint8_t ns3::ComponentCarrier::GetDlBandwidth() const [member function]
cls.add_method('GetDlBandwidth',
'uint8_t',
[],
is_const=True)
## component-carrier.h (module 'lte'): uint32_t ns3::ComponentCarrier::GetDlEarfcn() const [member function]
cls.add_method('GetDlEarfcn',
'uint32_t',
[],
is_const=True)
## component-carrier.h (module 'lte'): static ns3::TypeId ns3::ComponentCarrier::GetTypeId() [member function]
cls.add_method('GetTypeId',
'ns3::TypeId',
[],
is_static=True)
## component-carrier.h (module 'lte'): uint8_t ns3::ComponentCarrier::GetUlBandwidth() const [member function]
cls.add_method('GetUlBandwidth',
'uint8_t',
[],
is_const=True)
## component-carrier.h (module 'lte'): uint32_t ns3::ComponentCarrier::GetUlEarfcn() const [member function]
cls.add_method('GetUlEarfcn',
'uint32_t',
[],
is_const=True)
## component-carrier.h (module 'lte'): bool ns3::ComponentCarrier::IsPrimary() const [member function]
cls.add_method('IsPrimary',
'bool',
[],
is_const=True)
## component-carrier.h (module 'lte'): void ns3::ComponentCarrier::SetAsPrimary(bool primaryCarrier) [member function]
cls.add_method('SetAsPrimary',
'void',
[param('bool', 'primaryCarrier')])
## component-carrier.h (module 'lte'): void ns3::ComponentCarrier::SetCsgId(uint32_t csgId) [member function]
cls.add_method('SetCsgId',
'void',
[param('uint32_t', 'csgId')])
## component-carrier.h (module 'lte'): void ns3::ComponentCarrier::SetCsgIndication(bool csgIndication) [member function]
cls.add_method('SetCsgIndication',
'void',
[param('bool', 'csgIndication')])
## component-carrier.h (module 'lte'): void ns3::ComponentCarrier::SetDlBandwidth(uint8_t bw) [member function]
cls.add_method('SetDlBandwidth',
'void',
[param('uint8_t', 'bw')])
## component-carrier.h (module 'lte'): void ns3::ComponentCarrier::SetDlEarfcn(uint32_t earfcn) [member function]
cls.add_method('SetDlEarfcn',
'void',
[param('uint32_t', 'earfcn')])
## component-carrier.h (module 'lte'): void ns3::ComponentCarrier::SetUlBandwidth(uint8_t bw) [member function]
cls.add_method('SetUlBandwidth',
'void',
[param('uint8_t', 'bw')])
## component-carrier.h (module 'lte'): void ns3::ComponentCarrier::SetUlEarfcn(uint32_t earfcn) [member function]
cls.add_method('SetUlEarfcn',
'void',
[param('uint32_t', 'earfcn')])
## component-carrier.h (module 'lte'): ns3::ComponentCarrier::m_dlBandwidth [variable]
cls.add_instance_attribute('m_dlBandwidth', 'uint8_t', is_const=False)
## component-carrier.h (module 'lte'): ns3::ComponentCarrier::m_dlEarfcn [variable]
cls.add_instance_attribute('m_dlEarfcn', 'uint32_t', is_const=False)
## component-carrier.h (module 'lte'): ns3::ComponentCarrier::m_ulBandwidth [variable]
cls.add_instance_attribute('m_ulBandwidth', 'uint8_t', is_const=False)
## component-carrier.h (module 'lte'): ns3::ComponentCarrier::m_ulEarfcn [variable]
cls.add_instance_attribute('m_ulEarfcn', 'uint32_t', is_const=False)
## component-carrier.h (module 'lte'): void ns3::ComponentCarrier::DoInitialize() [member function]
cls.add_method('DoInitialize',
'void',
[],
visibility='protected', is_virtual=True)
return
def register_Ns3ComponentCarrierEnb_methods(root_module, cls):
## component-carrier-enb.h (module 'lte'): ns3::ComponentCarrierEnb::ComponentCarrierEnb(ns3::ComponentCarrierEnb const & arg0) [copy constructor]
cls.add_constructor([param('ns3::ComponentCarrierEnb const &', 'arg0')])
## component-carrier-enb.h (module 'lte'): ns3::ComponentCarrierEnb::ComponentCarrierEnb() [constructor]
cls.add_constructor([])
## component-carrier-enb.h (module 'lte'): void ns3::ComponentCarrierEnb::DoDispose() [member function]
cls.add_method('DoDispose',
'void',
[],
is_virtual=True)
## component-carrier-enb.h (module 'lte'): ns3::Ptr<ns3::FfMacScheduler> ns3::ComponentCarrierEnb::GetFfMacScheduler() [member function]
cls.add_method('GetFfMacScheduler',
'ns3::Ptr< ns3::FfMacScheduler >',
[])
## component-carrier-enb.h (module 'lte'): ns3::Ptr<ns3::LteFfrAlgorithm> ns3::ComponentCarrierEnb::GetFfrAlgorithm() [member function]
cls.add_method('GetFfrAlgorithm',
'ns3::Ptr< ns3::LteFfrAlgorithm >',
[])
## component-carrier-enb.h (module 'lte'): ns3::Ptr<ns3::LteEnbMac> ns3::ComponentCarrierEnb::GetMac() [member function]
cls.add_method('GetMac',
'ns3::Ptr< ns3::LteEnbMac >',
[])
## component-carrier-enb.h (module 'lte'): ns3::Ptr<ns3::LteEnbPhy> ns3::ComponentCarrierEnb::GetPhy() [member function]
cls.add_method('GetPhy',
'ns3::Ptr< ns3::LteEnbPhy >',
[])
## component-carrier-enb.h (module 'lte'): static ns3::TypeId ns3::ComponentCarrierEnb::GetTypeId() [member function]
cls.add_method('GetTypeId',
'ns3::TypeId',
[],
is_static=True)
## component-carrier-enb.h (module 'lte'): void ns3::ComponentCarrierEnb::SetFfMacScheduler(ns3::Ptr<ns3::FfMacScheduler> s) [member function]
cls.add_method('SetFfMacScheduler',
'void',
[param('ns3::Ptr< ns3::FfMacScheduler >', 's')])
## component-carrier-enb.h (module 'lte'): void ns3::ComponentCarrierEnb::SetFfrAlgorithm(ns3::Ptr<ns3::LteFfrAlgorithm> s) [member function]
cls.add_method('SetFfrAlgorithm',
'void',
[param('ns3::Ptr< ns3::LteFfrAlgorithm >', 's')])
## component-carrier-enb.h (module 'lte'): void ns3::ComponentCarrierEnb::SetMac(ns3::Ptr<ns3::LteEnbMac> s) [member function]
cls.add_method('SetMac',
'void',
[param('ns3::Ptr< ns3::LteEnbMac >', 's')])
## component-carrier-enb.h (module 'lte'): void ns3::ComponentCarrierEnb::SetPhy(ns3::Ptr<ns3::LteEnbPhy> s) [member function]
cls.add_method('SetPhy',
'void',
[param('ns3::Ptr< ns3::LteEnbPhy >', 's')])
## component-carrier-enb.h (module 'lte'): void ns3::ComponentCarrierEnb::DoInitialize() [member function]
cls.add_method('DoInitialize',
'void',
[],
visibility='protected', is_virtual=True)
return
def register_Ns3ComponentCarrierUe_methods(root_module, cls):
## component-carrier-ue.h (module 'lte'): ns3::ComponentCarrierUe::ComponentCarrierUe(ns3::ComponentCarrierUe const & arg0) [copy constructor]
cls.add_constructor([param('ns3::ComponentCarrierUe const &', 'arg0')])
## component-carrier-ue.h (module 'lte'): ns3::ComponentCarrierUe::ComponentCarrierUe() [constructor]
cls.add_constructor([])
## component-carrier-ue.h (module 'lte'): void ns3::ComponentCarrierUe::DoDispose() [member function]
cls.add_method('DoDispose',
'void',
[],
is_virtual=True)
## component-carrier-ue.h (module 'lte'): ns3::Ptr<ns3::LteUeMac> ns3::ComponentCarrierUe::GetMac() const [member function]
cls.add_method('GetMac',
'ns3::Ptr< ns3::LteUeMac >',
[],
is_const=True)
## component-carrier-ue.h (module 'lte'): ns3::Ptr<ns3::LteUePhy> ns3::ComponentCarrierUe::GetPhy() const [member function]
cls.add_method('GetPhy',
'ns3::Ptr< ns3::LteUePhy >',
[],
is_const=True)
## component-carrier-ue.h (module 'lte'): static ns3::TypeId ns3::ComponentCarrierUe::GetTypeId() [member function]
cls.add_method('GetTypeId',
'ns3::TypeId',
[],
is_static=True)
## component-carrier-ue.h (module 'lte'): void ns3::ComponentCarrierUe::SetMac(ns3::Ptr<ns3::LteUeMac> s) [member function]
cls.add_method('SetMac',
'void',
[param('ns3::Ptr< ns3::LteUeMac >', 's')])
## component-carrier-ue.h (module 'lte'): void ns3::ComponentCarrierUe::SetPhy(ns3::Ptr<ns3::LteUePhy> s) [member function]
cls.add_method('SetPhy',
'void',
[param('ns3::Ptr< ns3::LteUePhy >', 's')])
## component-carrier-ue.h (module 'lte'): void ns3::ComponentCarrierUe::DoInitialize() [member function]
cls.add_method('DoInitialize',
'void',
[],
visibility='protected', is_virtual=True)
return
def register_Ns3ConstantRandomVariable_methods(root_module, cls):
## random-variable-stream.h (module 'core'): static ns3::TypeId ns3::ConstantRandomVariable::GetTypeId() [member function]
cls.add_method('GetTypeId',
@@ -15384,6 +15608,10 @@ def register_Ns3LteEnbRrc_methods(root_module, cls):
cls.add_method('SetLteMacSapProvider',
'void',
[param('ns3::LteMacSapProvider *', 's')])
## lte-enb-rrc.h (module 'lte'): void ns3::LteEnbRrc::SetNumberOfComponentCarriers(uint16_t numberOfComponentCarriers) [member function]
cls.add_method('SetNumberOfComponentCarriers',
'void',
[param('uint16_t', 'numberOfComponentCarriers')])
## lte-enb-rrc.h (module 'lte'): void ns3::LteEnbRrc::SetS1SapProvider(ns3::EpcEnbS1SapProvider * s) [member function]
cls.add_method('SetS1SapProvider',
'void',
@@ -21471,6 +21699,14 @@ def register_Ns3LteUeNetDevice_methods(root_module, cls):
cls.add_method('GetTargetEnb',
'ns3::Ptr< ns3::LteEnbNetDevice >',
[])
## lte-ue-net-device.h (module 'lte'): void ns3::LteUeNetDevice::SetCcMap(std::map<unsigned char, ns3::Ptr<ns3::ComponentCarrierUe>, std::less<unsigned char>, std::allocator<std::pair<unsigned char const, ns3::Ptr<ns3::ComponentCarrierUe> > > > ccm) [member function]
cls.add_method('SetCcMap',
'void',
[param('std::map< unsigned char, ns3::Ptr< ns3::ComponentCarrierUe > >', 'ccm')])
## lte-ue-net-device.h (module 'lte'): std::map<unsigned char, ns3::Ptr<ns3::ComponentCarrierUe>, std::less<unsigned char>, std::allocator<std::pair<unsigned char const, ns3::Ptr<ns3::ComponentCarrierUe> > > > ns3::LteUeNetDevice::GetCcMap() [member function]
cls.add_method('GetCcMap',
'std::map< unsigned char, ns3::Ptr< ns3::ComponentCarrierUe > >',
[])
## lte-ue-net-device.h (module 'lte'): void ns3::LteUeNetDevice::DoInitialize() [member function]
cls.add_method('DoInitialize',
'void',
@@ -22017,11 +22253,19 @@ def register_Ns3LteEnbNetDevice_methods(root_module, cls):
'ns3::Ptr< ns3::LteEnbMac >',
[],
is_const=True)
## lte-enb-net-device.h (module 'lte'): ns3::Ptr<ns3::LteEnbMac> ns3::LteEnbNetDevice::GetMac(uint8_t index) [member function]
cls.add_method('GetMac',
'ns3::Ptr< ns3::LteEnbMac >',
[param('uint8_t', 'index')])
## lte-enb-net-device.h (module 'lte'): ns3::Ptr<ns3::LteEnbPhy> ns3::LteEnbNetDevice::GetPhy() const [member function]
cls.add_method('GetPhy',
'ns3::Ptr< ns3::LteEnbPhy >',
[],
is_const=True)
## lte-enb-net-device.h (module 'lte'): ns3::Ptr<ns3::LteEnbPhy> ns3::LteEnbNetDevice::GetPhy(uint8_t index) [member function]
cls.add_method('GetPhy',
'ns3::Ptr< ns3::LteEnbPhy >',
[param('uint8_t', 'index')])
## lte-enb-net-device.h (module 'lte'): ns3::Ptr<ns3::LteEnbRrc> ns3::LteEnbNetDevice::GetRrc() const [member function]
cls.add_method('GetRrc',
'ns3::Ptr< ns3::LteEnbRrc >',
@@ -22086,6 +22330,14 @@ def register_Ns3LteEnbNetDevice_methods(root_module, cls):
cls.add_method('SetCsgIndication',
'void',
[param('bool', 'csgIndication')])
## lte-enb-net-device.h (module 'lte'): void ns3::LteEnbNetDevice::SetCcMap(std::map<unsigned char, ns3::Ptr<ns3::ComponentCarrierEnb>, std::less<unsigned char>, std::allocator<std::pair<unsigned char const, ns3::Ptr<ns3::ComponentCarrierEnb> > > > ccm) [member function]
cls.add_method('SetCcMap',
'void',
[param('std::map< unsigned char, ns3::Ptr< ns3::ComponentCarrierEnb > >', 'ccm')])
## lte-enb-net-device.h (module 'lte'): std::map<unsigned char, ns3::Ptr<ns3::ComponentCarrierEnb>, std::less<unsigned char>, std::allocator<std::pair<unsigned char const, ns3::Ptr<ns3::ComponentCarrierEnb> > > > ns3::LteEnbNetDevice::GetCcMap() [member function]
cls.add_method('GetCcMap',
'std::map< unsigned char, ns3::Ptr< ns3::ComponentCarrierEnb > >',
[])
## lte-enb-net-device.h (module 'lte'): void ns3::LteEnbNetDevice::DoInitialize() [member function]
cls.add_method('DoInitialize',
'void',

View File

@@ -94,6 +94,8 @@ def register_types(module):
module.add_class('DlInfoListElement_s')
## ff-mac-common.h (module 'lte'): ns3::DlInfoListElement_s::HarqStatus_e [enumeration]
module.add_enum('HarqStatus_e', ['ACK', 'NACK', 'DTX'], outer_class=root_module['ns3::DlInfoListElement_s'])
## lte-common.h (module 'lte'): ns3::DlSchedulingCallbackInfo [struct]
module.add_class('DlSchedulingCallbackInfo')
## ff-mac-common.h (module 'lte'): ns3::DrxConfig_s [struct]
module.add_class('DrxConfig_s')
## epc-enb-s1-sap.h (module 'lte'): ns3::EpcEnbS1SapProvider [class]
@@ -954,6 +956,12 @@ def register_types(module):
module.add_class('CallbackValue', import_from_module='ns.core', parent=root_module['ns3::AttributeValue'])
## channel.h (module 'network'): ns3::Channel [class]
module.add_class('Channel', import_from_module='ns.network', parent=root_module['ns3::Object'])
## component-carrier.h (module 'lte'): ns3::ComponentCarrier [class]
module.add_class('ComponentCarrier', parent=root_module['ns3::Object'])
## component-carrier-enb.h (module 'lte'): ns3::ComponentCarrierEnb [class]
module.add_class('ComponentCarrierEnb', parent=root_module['ns3::ComponentCarrier'])
## component-carrier-ue.h (module 'lte'): ns3::ComponentCarrierUe [class]
module.add_class('ComponentCarrierUe', parent=root_module['ns3::ComponentCarrier'])
## random-variable-stream.h (module 'core'): ns3::ConstantRandomVariable [class]
module.add_class('ConstantRandomVariable', import_from_module='ns.core', parent=root_module['ns3::RandomVariableStream'])
## data-calculator.h (module 'stats'): ns3::DataCalculator [class]
@@ -1402,6 +1410,8 @@ def register_types(module):
module.add_container('std::map< unsigned int, unsigned int >', ('unsigned int', 'unsigned int'), container_type=u'map')
module.add_container('std::list< ns3::Ptr< ns3::LteControlMessage > >', 'ns3::Ptr< ns3::LteControlMessage >', container_type=u'list')
module.add_container('std::list< ns3::UlDciLteControlMessage >', 'ns3::UlDciLteControlMessage', container_type=u'list')
module.add_container('std::map< unsigned char, ns3::Ptr< ns3::ComponentCarrierUe > >', ('unsigned char', 'ns3::Ptr< ns3::ComponentCarrierUe >'), container_type=u'map')
module.add_container('std::map< unsigned char, ns3::Ptr< ns3::ComponentCarrierEnb > >', ('unsigned char', 'ns3::Ptr< ns3::ComponentCarrierEnb >'), container_type=u'map')
typehandlers.add_type_alias(u'std::map< ns3::ImsiLcidPair_t, unsigned int, std::less< ns3::ImsiLcidPair_t >, std::allocator< std::pair< ns3::ImsiLcidPair_t const, unsigned int > > >', u'ns3::Uint32Map')
typehandlers.add_type_alias(u'std::map< ns3::ImsiLcidPair_t, unsigned int, std::less< ns3::ImsiLcidPair_t >, std::allocator< std::pair< ns3::ImsiLcidPair_t const, unsigned int > > >*', u'ns3::Uint32Map*')
typehandlers.add_type_alias(u'std::map< ns3::ImsiLcidPair_t, unsigned int, std::less< ns3::ImsiLcidPair_t >, std::allocator< std::pair< ns3::ImsiLcidPair_t const, unsigned int > > >&', u'ns3::Uint32Map&')
@@ -1417,9 +1427,6 @@ def register_types(module):
typehandlers.add_type_alias(u'std::vector< ns3::HarqProcessInfoElement_t, std::allocator< ns3::HarqProcessInfoElement_t > >', u'ns3::HarqProcessInfoList_t')
typehandlers.add_type_alias(u'std::vector< ns3::HarqProcessInfoElement_t, std::allocator< ns3::HarqProcessInfoElement_t > >*', u'ns3::HarqProcessInfoList_t*')
typehandlers.add_type_alias(u'std::vector< ns3::HarqProcessInfoElement_t, std::allocator< ns3::HarqProcessInfoElement_t > >&', u'ns3::HarqProcessInfoList_t&')
typehandlers.add_type_alias(u'ns3::Callback< void, unsigned short, ns3::Ptr< ns3::SpectrumValue >, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty >', u'ns3::LtePhyRxPssCallback')
typehandlers.add_type_alias(u'ns3::Callback< void, unsigned short, ns3::Ptr< ns3::SpectrumValue >, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty >*', u'ns3::LtePhyRxPssCallback*')
typehandlers.add_type_alias(u'ns3::Callback< void, unsigned short, ns3::Ptr< ns3::SpectrumValue >, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty >&', u'ns3::LtePhyRxPssCallback&')
typehandlers.add_type_alias(u'ns3::Callback< void, ns3::Ptr< ns3::Packet const >, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty >', u'ns3::LtePhyTxEndCallback')
typehandlers.add_type_alias(u'ns3::Callback< void, ns3::Ptr< ns3::Packet const >, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty >*', u'ns3::LtePhyTxEndCallback*')
typehandlers.add_type_alias(u'ns3::Callback< void, ns3::Ptr< ns3::Packet const >, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty >&', u'ns3::LtePhyTxEndCallback&')
@@ -1447,9 +1454,6 @@ def register_types(module):
typehandlers.add_type_alias(u'std::vector< unsigned char, std::allocator< unsigned char > >', u'ns3::DlHarqProcessesStatus_t')
typehandlers.add_type_alias(u'std::vector< unsigned char, std::allocator< unsigned char > >*', u'ns3::DlHarqProcessesStatus_t*')
typehandlers.add_type_alias(u'std::vector< unsigned char, std::allocator< unsigned char > >&', u'ns3::DlHarqProcessesStatus_t&')
typehandlers.add_type_alias(u'ns3::Callback< bool, ns3::Ptr< ns3::Packet >, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty >', u'ns3::GenericPhyTxStartCallback')
typehandlers.add_type_alias(u'ns3::Callback< bool, ns3::Ptr< ns3::Packet >, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty >*', u'ns3::GenericPhyTxStartCallback*')
typehandlers.add_type_alias(u'ns3::Callback< bool, ns3::Ptr< ns3::Packet >, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty >&', u'ns3::GenericPhyTxStartCallback&')
typehandlers.add_type_alias(u'std::vector< ns3::BandInfo, std::allocator< ns3::BandInfo > >', u'ns3::Bands')
typehandlers.add_type_alias(u'std::vector< ns3::BandInfo, std::allocator< ns3::BandInfo > >*', u'ns3::Bands*')
typehandlers.add_type_alias(u'std::vector< ns3::BandInfo, std::allocator< ns3::BandInfo > >&', u'ns3::Bands&')
@@ -1463,9 +1467,9 @@ def register_types(module):
typehandlers.add_type_alias(u'ns3::Vector3D*', u'ns3::Vector*')
typehandlers.add_type_alias(u'ns3::Vector3D&', u'ns3::Vector&')
module.add_typedef(root_module['ns3::Vector3D'], 'Vector')
typehandlers.add_type_alias(u'void ( * ) ( std::ostream & ) *', u'ns3::LogTimePrinter')
typehandlers.add_type_alias(u'void ( * ) ( std::ostream & ) **', u'ns3::LogTimePrinter*')
typehandlers.add_type_alias(u'void ( * ) ( std::ostream & ) *&', u'ns3::LogTimePrinter&')
typehandlers.add_type_alias(u'ns3::Callback< bool, ns3::Ptr< ns3::Packet >, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty >', u'ns3::GenericPhyTxStartCallback')
typehandlers.add_type_alias(u'ns3::Callback< bool, ns3::Ptr< ns3::Packet >, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty >*', u'ns3::GenericPhyTxStartCallback*')
typehandlers.add_type_alias(u'ns3::Callback< bool, ns3::Ptr< ns3::Packet >, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty >&', u'ns3::GenericPhyTxStartCallback&')
typehandlers.add_type_alias(u'ns3::Vector3DValue', u'ns3::VectorValue')
typehandlers.add_type_alias(u'ns3::Vector3DValue*', u'ns3::VectorValue*')
typehandlers.add_type_alias(u'ns3::Vector3DValue&', u'ns3::VectorValue&')
@@ -1504,12 +1508,18 @@ def register_types(module):
typehandlers.add_type_alias(u'ns3::Vector3DChecker*', u'ns3::VectorChecker*')
typehandlers.add_type_alias(u'ns3::Vector3DChecker&', u'ns3::VectorChecker&')
module.add_typedef(root_module['ns3::Vector3DChecker'], 'VectorChecker')
typehandlers.add_type_alias(u'void ( * ) ( std::ostream & ) *', u'ns3::LogTimePrinter')
typehandlers.add_type_alias(u'void ( * ) ( std::ostream & ) **', u'ns3::LogTimePrinter*')
typehandlers.add_type_alias(u'void ( * ) ( std::ostream & ) *&', u'ns3::LogTimePrinter&')
typehandlers.add_type_alias(u'std::vector< unsigned char, std::allocator< unsigned char > >', u'ns3::DlHarqProcessesTimer_t')
typehandlers.add_type_alias(u'std::vector< unsigned char, std::allocator< unsigned char > >*', u'ns3::DlHarqProcessesTimer_t*')
typehandlers.add_type_alias(u'std::vector< unsigned char, std::allocator< unsigned char > >&', u'ns3::DlHarqProcessesTimer_t&')
typehandlers.add_type_alias(u'std::map< ns3::ImsiLcidPair_t, ns3::Ptr< ns3::MinMaxAvgTotalCalculator< unsigned int > >, std::less< ns3::ImsiLcidPair_t >, std::allocator< std::pair< ns3::ImsiLcidPair_t const, ns3::Ptr< ns3::MinMaxAvgTotalCalculator< unsigned int > > > > >', u'ns3::Uint32StatsMap')
typehandlers.add_type_alias(u'std::map< ns3::ImsiLcidPair_t, ns3::Ptr< ns3::MinMaxAvgTotalCalculator< unsigned int > >, std::less< ns3::ImsiLcidPair_t >, std::allocator< std::pair< ns3::ImsiLcidPair_t const, ns3::Ptr< ns3::MinMaxAvgTotalCalculator< unsigned int > > > > >*', u'ns3::Uint32StatsMap*')
typehandlers.add_type_alias(u'std::map< ns3::ImsiLcidPair_t, ns3::Ptr< ns3::MinMaxAvgTotalCalculator< unsigned int > >, std::less< ns3::ImsiLcidPair_t >, std::allocator< std::pair< ns3::ImsiLcidPair_t const, ns3::Ptr< ns3::MinMaxAvgTotalCalculator< unsigned int > > > > >&', u'ns3::Uint32StatsMap&')
typehandlers.add_type_alias(u'ns3::Callback< void, unsigned short, ns3::Ptr< ns3::SpectrumValue >, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty >', u'ns3::LtePhyRxPssCallback')
typehandlers.add_type_alias(u'ns3::Callback< void, unsigned short, ns3::Ptr< ns3::SpectrumValue >, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty >*', u'ns3::LtePhyRxPssCallback*')
typehandlers.add_type_alias(u'ns3::Callback< void, unsigned short, ns3::Ptr< ns3::SpectrumValue >, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty >&', u'ns3::LtePhyRxPssCallback&')
typehandlers.add_type_alias(u'ns3::Callback< void, ns3::Ptr< ns3::Packet >, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty >', u'ns3::GenericPhyRxEndOkCallback')
typehandlers.add_type_alias(u'ns3::Callback< void, ns3::Ptr< ns3::Packet >, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty >*', u'ns3::GenericPhyRxEndOkCallback*')
typehandlers.add_type_alias(u'ns3::Callback< void, ns3::Ptr< ns3::Packet >, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty, ns3::empty >&', u'ns3::GenericPhyRxEndOkCallback&')
@@ -1656,6 +1666,7 @@ def register_methods(root_module):
register_Ns3DataRate_methods(root_module, root_module['ns3::DataRate'])
register_Ns3DlDciListElement_s_methods(root_module, root_module['ns3::DlDciListElement_s'])
register_Ns3DlInfoListElement_s_methods(root_module, root_module['ns3::DlInfoListElement_s'])
register_Ns3DlSchedulingCallbackInfo_methods(root_module, root_module['ns3::DlSchedulingCallbackInfo'])
register_Ns3DrxConfig_s_methods(root_module, root_module['ns3::DrxConfig_s'])
register_Ns3EpcEnbS1SapProvider_methods(root_module, root_module['ns3::EpcEnbS1SapProvider'])
register_Ns3EpcEnbS1SapProviderBearerToBeSwitched_methods(root_module, root_module['ns3::EpcEnbS1SapProvider::BearerToBeSwitched'])
@@ -2019,6 +2030,9 @@ def register_methods(root_module):
register_Ns3CallbackImplBase_methods(root_module, root_module['ns3::CallbackImplBase'])
register_Ns3CallbackValue_methods(root_module, root_module['ns3::CallbackValue'])
register_Ns3Channel_methods(root_module, root_module['ns3::Channel'])
register_Ns3ComponentCarrier_methods(root_module, root_module['ns3::ComponentCarrier'])
register_Ns3ComponentCarrierEnb_methods(root_module, root_module['ns3::ComponentCarrierEnb'])
register_Ns3ComponentCarrierUe_methods(root_module, root_module['ns3::ComponentCarrierUe'])
register_Ns3ConstantRandomVariable_methods(root_module, root_module['ns3::ConstantRandomVariable'])
register_Ns3DataCalculator_methods(root_module, root_module['ns3::DataCalculator'])
register_Ns3DataOutputInterface_methods(root_module, root_module['ns3::DataOutputInterface'])
@@ -2976,6 +2990,29 @@ def register_Ns3DlInfoListElement_s_methods(root_module, cls):
cls.add_instance_attribute('m_rnti', 'uint16_t', is_const=False)
return
def register_Ns3DlSchedulingCallbackInfo_methods(root_module, cls):
## lte-common.h (module 'lte'): ns3::DlSchedulingCallbackInfo::DlSchedulingCallbackInfo() [constructor]
cls.add_constructor([])
## lte-common.h (module 'lte'): ns3::DlSchedulingCallbackInfo::DlSchedulingCallbackInfo(ns3::DlSchedulingCallbackInfo const & arg0) [copy constructor]
cls.add_constructor([param('ns3::DlSchedulingCallbackInfo const &', 'arg0')])
## lte-common.h (module 'lte'): ns3::DlSchedulingCallbackInfo::componentCarrierId [variable]
cls.add_instance_attribute('componentCarrierId', 'uint8_t', is_const=False)
## lte-common.h (module 'lte'): ns3::DlSchedulingCallbackInfo::frameNo [variable]
cls.add_instance_attribute('frameNo', 'uint32_t', is_const=False)
## lte-common.h (module 'lte'): ns3::DlSchedulingCallbackInfo::mcsTb1 [variable]
cls.add_instance_attribute('mcsTb1', 'uint8_t', is_const=False)
## lte-common.h (module 'lte'): ns3::DlSchedulingCallbackInfo::mcsTb2 [variable]
cls.add_instance_attribute('mcsTb2', 'uint8_t', is_const=False)
## lte-common.h (module 'lte'): ns3::DlSchedulingCallbackInfo::rnti [variable]
cls.add_instance_attribute('rnti', 'uint16_t', is_const=False)
## lte-common.h (module 'lte'): ns3::DlSchedulingCallbackInfo::sizeTb1 [variable]
cls.add_instance_attribute('sizeTb1', 'uint16_t', is_const=False)
## lte-common.h (module 'lte'): ns3::DlSchedulingCallbackInfo::sizeTb2 [variable]
cls.add_instance_attribute('sizeTb2', 'uint16_t', is_const=False)
## lte-common.h (module 'lte'): ns3::DlSchedulingCallbackInfo::subframeNo [variable]
cls.add_instance_attribute('subframeNo', 'uint32_t', is_const=False)
return
def register_Ns3DrxConfig_s_methods(root_module, cls):
## ff-mac-common.h (module 'lte'): ns3::DrxConfig_s::DrxConfig_s() [constructor]
cls.add_constructor([])
@@ -8994,8 +9031,8 @@ def register_Ns3FdtbfqsFlowPerf_t_methods(root_module, cls):
return
def register_Ns3Int64x64_t_methods(root_module, cls):
cls.add_binary_comparison_operator('!=')
cls.add_binary_comparison_operator('<=')
cls.add_binary_comparison_operator('!=')
cls.add_inplace_numeric_operator('+=', param('ns3::int64x64_t const &', u'right'))
cls.add_binary_numeric_operator('*', root_module['ns3::int64x64_t'], root_module['ns3::int64x64_t'], param('ns3::int64x64_t const &', u'right'))
cls.add_binary_numeric_operator('+', root_module['ns3::int64x64_t'], root_module['ns3::int64x64_t'], param('ns3::int64x64_t const &', u'right'))
@@ -11537,8 +11574,8 @@ def register_Ns3SpectrumValue_methods(root_module, cls):
return
def register_Ns3Time_methods(root_module, cls):
cls.add_binary_comparison_operator('!=')
cls.add_binary_comparison_operator('<=')
cls.add_binary_comparison_operator('!=')
cls.add_inplace_numeric_operator('+=', param('ns3::Time const &', u'right'))
cls.add_binary_numeric_operator('*', root_module['ns3::Time'], root_module['ns3::Time'], param('int64_t const &', u'right'))
cls.add_binary_numeric_operator('+', root_module['ns3::Time'], root_module['ns3::Time'], param('ns3::Time const &', u'right'))
@@ -12764,6 +12801,193 @@ def register_Ns3Channel_methods(root_module, cls):
is_static=True)
return
def register_Ns3ComponentCarrier_methods(root_module, cls):
## component-carrier.h (module 'lte'): ns3::ComponentCarrier::ComponentCarrier(ns3::ComponentCarrier const & arg0) [copy constructor]
cls.add_constructor([param('ns3::ComponentCarrier const &', 'arg0')])
## component-carrier.h (module 'lte'): ns3::ComponentCarrier::ComponentCarrier() [constructor]
cls.add_constructor([])
## component-carrier.h (module 'lte'): void ns3::ComponentCarrier::DoDispose() [member function]
cls.add_method('DoDispose',
'void',
[],
is_virtual=True)
## component-carrier.h (module 'lte'): uint32_t ns3::ComponentCarrier::GetCsgId() const [member function]
cls.add_method('GetCsgId',
'uint32_t',
[],
is_const=True)
## component-carrier.h (module 'lte'): bool ns3::ComponentCarrier::GetCsgIndication() const [member function]
cls.add_method('GetCsgIndication',
'bool',
[],
is_const=True)
## component-carrier.h (module 'lte'): uint8_t ns3::ComponentCarrier::GetDlBandwidth() const [member function]
cls.add_method('GetDlBandwidth',
'uint8_t',
[],
is_const=True)
## component-carrier.h (module 'lte'): uint32_t ns3::ComponentCarrier::GetDlEarfcn() const [member function]
cls.add_method('GetDlEarfcn',
'uint32_t',
[],
is_const=True)
## component-carrier.h (module 'lte'): static ns3::TypeId ns3::ComponentCarrier::GetTypeId() [member function]
cls.add_method('GetTypeId',
'ns3::TypeId',
[],
is_static=True)
## component-carrier.h (module 'lte'): uint8_t ns3::ComponentCarrier::GetUlBandwidth() const [member function]
cls.add_method('GetUlBandwidth',
'uint8_t',
[],
is_const=True)
## component-carrier.h (module 'lte'): uint32_t ns3::ComponentCarrier::GetUlEarfcn() const [member function]
cls.add_method('GetUlEarfcn',
'uint32_t',
[],
is_const=True)
## component-carrier.h (module 'lte'): bool ns3::ComponentCarrier::IsPrimary() const [member function]
cls.add_method('IsPrimary',
'bool',
[],
is_const=True)
## component-carrier.h (module 'lte'): void ns3::ComponentCarrier::SetAsPrimary(bool primaryCarrier) [member function]
cls.add_method('SetAsPrimary',
'void',
[param('bool', 'primaryCarrier')])
## component-carrier.h (module 'lte'): void ns3::ComponentCarrier::SetCsgId(uint32_t csgId) [member function]
cls.add_method('SetCsgId',
'void',
[param('uint32_t', 'csgId')])
## component-carrier.h (module 'lte'): void ns3::ComponentCarrier::SetCsgIndication(bool csgIndication) [member function]
cls.add_method('SetCsgIndication',
'void',
[param('bool', 'csgIndication')])
## component-carrier.h (module 'lte'): void ns3::ComponentCarrier::SetDlBandwidth(uint8_t bw) [member function]
cls.add_method('SetDlBandwidth',
'void',
[param('uint8_t', 'bw')])
## component-carrier.h (module 'lte'): void ns3::ComponentCarrier::SetDlEarfcn(uint32_t earfcn) [member function]
cls.add_method('SetDlEarfcn',
'void',
[param('uint32_t', 'earfcn')])
## component-carrier.h (module 'lte'): void ns3::ComponentCarrier::SetUlBandwidth(uint8_t bw) [member function]
cls.add_method('SetUlBandwidth',
'void',
[param('uint8_t', 'bw')])
## component-carrier.h (module 'lte'): void ns3::ComponentCarrier::SetUlEarfcn(uint32_t earfcn) [member function]
cls.add_method('SetUlEarfcn',
'void',
[param('uint32_t', 'earfcn')])
## component-carrier.h (module 'lte'): ns3::ComponentCarrier::m_dlBandwidth [variable]
cls.add_instance_attribute('m_dlBandwidth', 'uint8_t', is_const=False)
## component-carrier.h (module 'lte'): ns3::ComponentCarrier::m_dlEarfcn [variable]
cls.add_instance_attribute('m_dlEarfcn', 'uint32_t', is_const=False)
## component-carrier.h (module 'lte'): ns3::ComponentCarrier::m_ulBandwidth [variable]
cls.add_instance_attribute('m_ulBandwidth', 'uint8_t', is_const=False)
## component-carrier.h (module 'lte'): ns3::ComponentCarrier::m_ulEarfcn [variable]
cls.add_instance_attribute('m_ulEarfcn', 'uint32_t', is_const=False)
## component-carrier.h (module 'lte'): void ns3::ComponentCarrier::DoInitialize() [member function]
cls.add_method('DoInitialize',
'void',
[],
visibility='protected', is_virtual=True)
return
def register_Ns3ComponentCarrierEnb_methods(root_module, cls):
## component-carrier-enb.h (module 'lte'): ns3::ComponentCarrierEnb::ComponentCarrierEnb(ns3::ComponentCarrierEnb const & arg0) [copy constructor]
cls.add_constructor([param('ns3::ComponentCarrierEnb const &', 'arg0')])
## component-carrier-enb.h (module 'lte'): ns3::ComponentCarrierEnb::ComponentCarrierEnb() [constructor]
cls.add_constructor([])
## component-carrier-enb.h (module 'lte'): void ns3::ComponentCarrierEnb::DoDispose() [member function]
cls.add_method('DoDispose',
'void',
[],
is_virtual=True)
## component-carrier-enb.h (module 'lte'): ns3::Ptr<ns3::FfMacScheduler> ns3::ComponentCarrierEnb::GetFfMacScheduler() [member function]
cls.add_method('GetFfMacScheduler',
'ns3::Ptr< ns3::FfMacScheduler >',
[])
## component-carrier-enb.h (module 'lte'): ns3::Ptr<ns3::LteFfrAlgorithm> ns3::ComponentCarrierEnb::GetFfrAlgorithm() [member function]
cls.add_method('GetFfrAlgorithm',
'ns3::Ptr< ns3::LteFfrAlgorithm >',
[])
## component-carrier-enb.h (module 'lte'): ns3::Ptr<ns3::LteEnbMac> ns3::ComponentCarrierEnb::GetMac() [member function]
cls.add_method('GetMac',
'ns3::Ptr< ns3::LteEnbMac >',
[])
## component-carrier-enb.h (module 'lte'): ns3::Ptr<ns3::LteEnbPhy> ns3::ComponentCarrierEnb::GetPhy() [member function]
cls.add_method('GetPhy',
'ns3::Ptr< ns3::LteEnbPhy >',
[])
## component-carrier-enb.h (module 'lte'): static ns3::TypeId ns3::ComponentCarrierEnb::GetTypeId() [member function]
cls.add_method('GetTypeId',
'ns3::TypeId',
[],
is_static=True)
## component-carrier-enb.h (module 'lte'): void ns3::ComponentCarrierEnb::SetFfMacScheduler(ns3::Ptr<ns3::FfMacScheduler> s) [member function]
cls.add_method('SetFfMacScheduler',
'void',
[param('ns3::Ptr< ns3::FfMacScheduler >', 's')])
## component-carrier-enb.h (module 'lte'): void ns3::ComponentCarrierEnb::SetFfrAlgorithm(ns3::Ptr<ns3::LteFfrAlgorithm> s) [member function]
cls.add_method('SetFfrAlgorithm',
'void',
[param('ns3::Ptr< ns3::LteFfrAlgorithm >', 's')])
## component-carrier-enb.h (module 'lte'): void ns3::ComponentCarrierEnb::SetMac(ns3::Ptr<ns3::LteEnbMac> s) [member function]
cls.add_method('SetMac',
'void',
[param('ns3::Ptr< ns3::LteEnbMac >', 's')])
## component-carrier-enb.h (module 'lte'): void ns3::ComponentCarrierEnb::SetPhy(ns3::Ptr<ns3::LteEnbPhy> s) [member function]
cls.add_method('SetPhy',
'void',
[param('ns3::Ptr< ns3::LteEnbPhy >', 's')])
## component-carrier-enb.h (module 'lte'): void ns3::ComponentCarrierEnb::DoInitialize() [member function]
cls.add_method('DoInitialize',
'void',
[],
visibility='protected', is_virtual=True)
return
def register_Ns3ComponentCarrierUe_methods(root_module, cls):
## component-carrier-ue.h (module 'lte'): ns3::ComponentCarrierUe::ComponentCarrierUe(ns3::ComponentCarrierUe const & arg0) [copy constructor]
cls.add_constructor([param('ns3::ComponentCarrierUe const &', 'arg0')])
## component-carrier-ue.h (module 'lte'): ns3::ComponentCarrierUe::ComponentCarrierUe() [constructor]
cls.add_constructor([])
## component-carrier-ue.h (module 'lte'): void ns3::ComponentCarrierUe::DoDispose() [member function]
cls.add_method('DoDispose',
'void',
[],
is_virtual=True)
## component-carrier-ue.h (module 'lte'): ns3::Ptr<ns3::LteUeMac> ns3::ComponentCarrierUe::GetMac() const [member function]
cls.add_method('GetMac',
'ns3::Ptr< ns3::LteUeMac >',
[],
is_const=True)
## component-carrier-ue.h (module 'lte'): ns3::Ptr<ns3::LteUePhy> ns3::ComponentCarrierUe::GetPhy() const [member function]
cls.add_method('GetPhy',
'ns3::Ptr< ns3::LteUePhy >',
[],
is_const=True)
## component-carrier-ue.h (module 'lte'): static ns3::TypeId ns3::ComponentCarrierUe::GetTypeId() [member function]
cls.add_method('GetTypeId',
'ns3::TypeId',
[],
is_static=True)
## component-carrier-ue.h (module 'lte'): void ns3::ComponentCarrierUe::SetMac(ns3::Ptr<ns3::LteUeMac> s) [member function]
cls.add_method('SetMac',
'void',
[param('ns3::Ptr< ns3::LteUeMac >', 's')])
## component-carrier-ue.h (module 'lte'): void ns3::ComponentCarrierUe::SetPhy(ns3::Ptr<ns3::LteUePhy> s) [member function]
cls.add_method('SetPhy',
'void',
[param('ns3::Ptr< ns3::LteUePhy >', 's')])
## component-carrier-ue.h (module 'lte'): void ns3::ComponentCarrierUe::DoInitialize() [member function]
cls.add_method('DoInitialize',
'void',
[],
visibility='protected', is_virtual=True)
return
def register_Ns3ConstantRandomVariable_methods(root_module, cls):
## random-variable-stream.h (module 'core'): static ns3::TypeId ns3::ConstantRandomVariable::GetTypeId() [member function]
cls.add_method('GetTypeId',
@@ -15384,6 +15608,10 @@ def register_Ns3LteEnbRrc_methods(root_module, cls):
cls.add_method('SetLteMacSapProvider',
'void',
[param('ns3::LteMacSapProvider *', 's')])
## lte-enb-rrc.h (module 'lte'): void ns3::LteEnbRrc::SetNumberOfComponentCarriers(uint16_t numberOfComponentCarriers) [member function]
cls.add_method('SetNumberOfComponentCarriers',
'void',
[param('uint16_t', 'numberOfComponentCarriers')])
## lte-enb-rrc.h (module 'lte'): void ns3::LteEnbRrc::SetS1SapProvider(ns3::EpcEnbS1SapProvider * s) [member function]
cls.add_method('SetS1SapProvider',
'void',
@@ -21471,6 +21699,14 @@ def register_Ns3LteUeNetDevice_methods(root_module, cls):
cls.add_method('GetTargetEnb',
'ns3::Ptr< ns3::LteEnbNetDevice >',
[])
## lte-ue-net-device.h (module 'lte'): void ns3::LteUeNetDevice::SetCcMap(std::map<unsigned char, ns3::Ptr<ns3::ComponentCarrierUe>, std::less<unsigned char>, std::allocator<std::pair<unsigned char const, ns3::Ptr<ns3::ComponentCarrierUe> > > > ccm) [member function]
cls.add_method('SetCcMap',
'void',
[param('std::map< unsigned char, ns3::Ptr< ns3::ComponentCarrierUe > >', 'ccm')])
## lte-ue-net-device.h (module 'lte'): std::map<unsigned char, ns3::Ptr<ns3::ComponentCarrierUe>, std::less<unsigned char>, std::allocator<std::pair<unsigned char const, ns3::Ptr<ns3::ComponentCarrierUe> > > > ns3::LteUeNetDevice::GetCcMap() [member function]
cls.add_method('GetCcMap',
'std::map< unsigned char, ns3::Ptr< ns3::ComponentCarrierUe > >',
[])
## lte-ue-net-device.h (module 'lte'): void ns3::LteUeNetDevice::DoInitialize() [member function]
cls.add_method('DoInitialize',
'void',
@@ -22017,11 +22253,19 @@ def register_Ns3LteEnbNetDevice_methods(root_module, cls):
'ns3::Ptr< ns3::LteEnbMac >',
[],
is_const=True)
## lte-enb-net-device.h (module 'lte'): ns3::Ptr<ns3::LteEnbMac> ns3::LteEnbNetDevice::GetMac(uint8_t index) [member function]
cls.add_method('GetMac',
'ns3::Ptr< ns3::LteEnbMac >',
[param('uint8_t', 'index')])
## lte-enb-net-device.h (module 'lte'): ns3::Ptr<ns3::LteEnbPhy> ns3::LteEnbNetDevice::GetPhy() const [member function]
cls.add_method('GetPhy',
'ns3::Ptr< ns3::LteEnbPhy >',
[],
is_const=True)
## lte-enb-net-device.h (module 'lte'): ns3::Ptr<ns3::LteEnbPhy> ns3::LteEnbNetDevice::GetPhy(uint8_t index) [member function]
cls.add_method('GetPhy',
'ns3::Ptr< ns3::LteEnbPhy >',
[param('uint8_t', 'index')])
## lte-enb-net-device.h (module 'lte'): ns3::Ptr<ns3::LteEnbRrc> ns3::LteEnbNetDevice::GetRrc() const [member function]
cls.add_method('GetRrc',
'ns3::Ptr< ns3::LteEnbRrc >',
@@ -22086,6 +22330,14 @@ def register_Ns3LteEnbNetDevice_methods(root_module, cls):
cls.add_method('SetCsgIndication',
'void',
[param('bool', 'csgIndication')])
## lte-enb-net-device.h (module 'lte'): void ns3::LteEnbNetDevice::SetCcMap(std::map<unsigned char, ns3::Ptr<ns3::ComponentCarrierEnb>, std::less<unsigned char>, std::allocator<std::pair<unsigned char const, ns3::Ptr<ns3::ComponentCarrierEnb> > > > ccm) [member function]
cls.add_method('SetCcMap',
'void',
[param('std::map< unsigned char, ns3::Ptr< ns3::ComponentCarrierEnb > >', 'ccm')])
## lte-enb-net-device.h (module 'lte'): std::map<unsigned char, ns3::Ptr<ns3::ComponentCarrierEnb>, std::less<unsigned char>, std::allocator<std::pair<unsigned char const, ns3::Ptr<ns3::ComponentCarrierEnb> > > > ns3::LteEnbNetDevice::GetCcMap() [member function]
cls.add_method('GetCcMap',
'std::map< unsigned char, ns3::Ptr< ns3::ComponentCarrierEnb > >',
[])
## lte-enb-net-device.h (module 'lte'): void ns3::LteEnbNetDevice::DoInitialize() [member function]
cls.add_method('DoInitialize',
'void',

View File

@@ -0,0 +1,176 @@
/* -*- Mode: C++; c-file-style: "gnu"; indent-tabs-mode:nil; -*- */
/*
* Copyright (c) 2015 Danilo Abrignani
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation;
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*
* Author: Danilo Abrignani <danilo.abrignani@unibo.it>
*/
#include "component-carrier-enb.h"
#include <ns3/uinteger.h>
#include <ns3/boolean.h>
#include <ns3/simulator.h>
#include <ns3/log.h>
#include <ns3/abort.h>
#include <ns3/lte-enb-phy.h>
#include <ns3/pointer.h>
#include <ns3/lte-enb-mac.h>
#include <ns3/lte-ffr-algorithm.h>
#include <ns3/ff-mac-scheduler.h>
namespace ns3 {
NS_LOG_COMPONENT_DEFINE ("ComponentCarrierEnb");
NS_OBJECT_ENSURE_REGISTERED (ComponentCarrierEnb);
TypeId ComponentCarrierEnb::GetTypeId (void)
{
static TypeId
tid =
TypeId ("ns3::ComponentCarrierEnb")
.SetParent<ComponentCarrier> ()
.AddConstructor<ComponentCarrierEnb> ()
.AddAttribute ("LteEnbPhy",
"The PHY associated to this EnbNetDevice",
PointerValue (),
MakePointerAccessor (&ComponentCarrierEnb::m_phy),
MakePointerChecker <LteEnbPhy> ())
.AddAttribute ("LteEnbMac",
"The MAC associated to this EnbNetDevice",
PointerValue (),
MakePointerAccessor (&ComponentCarrierEnb::m_mac),
MakePointerChecker <LteEnbMac> ())
.AddAttribute ("FfMacScheduler",
"The scheduler associated to this EnbNetDevice",
PointerValue (),
MakePointerAccessor (&ComponentCarrierEnb::m_scheduler),
MakePointerChecker <FfMacScheduler> ())
.AddAttribute ("LteFfrAlgorithm",
"The FFR algorithm associated to this EnbNetDevice",
PointerValue (),
MakePointerAccessor (&ComponentCarrierEnb::m_ffrAlgorithm),
MakePointerChecker <LteFfrAlgorithm> ())
;
return tid;
}
ComponentCarrierEnb::ComponentCarrierEnb ()
{
NS_LOG_FUNCTION (this);
}
ComponentCarrierEnb::~ComponentCarrierEnb (void)
{
NS_LOG_FUNCTION (this);
}
void
ComponentCarrierEnb::DoDispose ()
{
NS_LOG_FUNCTION (this);
if (m_phy)
{
m_phy->Dispose ();
m_phy = 0;
}
if (m_mac)
{
m_mac->Dispose ();
m_mac = 0;
}
if (m_scheduler)
{
m_scheduler->Dispose ();
m_scheduler = 0;
}
if (m_ffrAlgorithm)
{
m_ffrAlgorithm->Dispose ();
m_ffrAlgorithm = 0;
}
Object::DoDispose ();
}
void
ComponentCarrierEnb::DoInitialize (void)
{
NS_LOG_FUNCTION (this);
m_isConstructed = true;
m_phy->Initialize ();
m_mac->Initialize ();
m_ffrAlgorithm->Initialize ();
m_scheduler->Initialize();
}
Ptr<LteEnbPhy>
ComponentCarrierEnb::GetPhy ()
{
NS_LOG_FUNCTION (this);
return m_phy;
}
void
ComponentCarrierEnb::SetPhy (Ptr<LteEnbPhy> s)
{
NS_LOG_FUNCTION (this);
m_phy = s;
}
Ptr<LteEnbMac>
ComponentCarrierEnb::GetMac ()
{
NS_LOG_FUNCTION (this);
return m_mac;
}
void
ComponentCarrierEnb::SetMac (Ptr<LteEnbMac> s)
{
NS_LOG_FUNCTION (this);
m_mac = s;
}
Ptr<LteFfrAlgorithm>
ComponentCarrierEnb::GetFfrAlgorithm ()
{
NS_LOG_FUNCTION (this);
return m_ffrAlgorithm;
}
void
ComponentCarrierEnb::SetFfrAlgorithm (Ptr<LteFfrAlgorithm> s)
{
NS_LOG_FUNCTION (this);
m_ffrAlgorithm = s;
}
Ptr<FfMacScheduler>
ComponentCarrierEnb::GetFfMacScheduler ()
{
NS_LOG_FUNCTION (this);
return m_scheduler;
}
void
ComponentCarrierEnb::SetFfMacScheduler (Ptr<FfMacScheduler> s)
{
NS_LOG_FUNCTION (this);
m_scheduler = s;
}
} // namespace ns3

View File

@@ -0,0 +1,118 @@
/* -*- Mode: C++; c-file-style: "gnu"; indent-tabs-mode:nil; -*- */
/*
* Copyright (c) 2015 Danilo Abrignani
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation;
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*
* Author: Danilo Abrignani <danilo.abrignani@unibo.it>
*/
#ifndef COMPONENT_CARRIER_ENB_H
#define COMPONENT_CARRIER_ENB_H
#include "component-carrier.h"
#include <ns3/object.h>
#include <ns3/packet.h>
#include <ns3/nstime.h>
#include "ns3/lte-phy.h"
#include <ns3/lte-enb-phy.h>
#include <ns3/pointer.h>
//#include <ns3/lte-enb-mac.h>
namespace ns3 {
class LteEnbMac;
class FfMacScheduler;
class LteFfrAlgorithm;
/**
* \ingroup lte
*
* Defines a single carrier for enb, and contains pointers to LteEnbPhy,
* LteEnbMac, LteFfrAlgorithm, and FfMacScheduler objects.
*
*/
class ComponentCarrierEnb : public ComponentCarrier
{
public:
static TypeId GetTypeId (void);
ComponentCarrierEnb ();
virtual ~ComponentCarrierEnb (void);
virtual void DoDispose (void);
/**
* \return a pointer to the physical layer.
*/
Ptr<LteEnbPhy> GetPhy (void);
/**
* \return a pointer to the MAC layer.
*/
Ptr<LteEnbMac> GetMac (void);
/**
* \return a pointer to the Ffr Algorithm.
*/
Ptr<LteFfrAlgorithm> GetFfrAlgorithm ();
/**
* \return a pointer to the Mac Scheduler.
*/
Ptr<FfMacScheduler> GetFfMacScheduler ();
/**
* Set the LteEnbPhy
* \ param s a pointer to the LteEnbPhy
*/
void SetPhy (Ptr<LteEnbPhy> s);
/**
* Set the LteEnbMac
* \ param s a pointer to the LteEnbMac
*/
void SetMac (Ptr<LteEnbMac> s);
/**
* Set the FfMacScheduler Algorithm
* \ param s a pointer to the FfMacScheduler
*/
void SetFfMacScheduler (Ptr<FfMacScheduler> s);
/**
* Set the LteFfrAlgorithm
* \ param s a pointer to the LteFfrAlgorithm
*/
void SetFfrAlgorithm (Ptr<LteFfrAlgorithm> s);
protected:
virtual void DoInitialize (void);
private:
Ptr<LteEnbPhy> m_phy;
Ptr<LteEnbMac> m_mac;
Ptr<FfMacScheduler> m_scheduler;
Ptr<LteFfrAlgorithm> m_ffrAlgorithm;
};
} // namespace ns3
#endif /* COMPONENT_CARRIER_H */

View File

@@ -0,0 +1,119 @@
/* -*- Mode: C++; c-file-style: "gnu"; indent-tabs-mode:nil; -*- */
/*
* Copyright (c) 2015 Danilo Abrignani
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation;
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*
* Author: Danilo Abrignani <danilo.abrignani@unibo.it>
*/
#include "component-carrier-ue.h"
#include <ns3/uinteger.h>
#include <ns3/boolean.h>
#include <ns3/simulator.h>
#include <ns3/log.h>
#include <ns3/abort.h>
#include <ns3/lte-ue-phy.h>
#include <ns3/lte-ue-mac.h>
#include <ns3/pointer.h>
namespace ns3 {
NS_LOG_COMPONENT_DEFINE ("ComponentCarrierUe");
NS_OBJECT_ENSURE_REGISTERED ( ComponentCarrierUe);
TypeId ComponentCarrierUe::GetTypeId (void)
{
static TypeId
tid =
TypeId ("ns3::ComponentCarrierUe")
.SetParent<ComponentCarrier> ()
.AddConstructor<ComponentCarrierUe> ()
.AddAttribute ("LteUePhy",
"The PHY associated to this EnbNetDevice",
PointerValue (),
MakePointerAccessor (&ComponentCarrierUe::m_phy),
MakePointerChecker <LteUePhy> ())
.AddAttribute ("LteUeMac",
"The MAC associated to this UeNetDevice",
PointerValue (),
MakePointerAccessor (&ComponentCarrierUe::m_mac),
MakePointerChecker <LteUeMac> ())
;
return tid;
}
ComponentCarrierUe::ComponentCarrierUe ()
{
NS_LOG_FUNCTION (this);
}
ComponentCarrierUe::~ComponentCarrierUe (void)
{
NS_LOG_FUNCTION (this);
}
void
ComponentCarrierUe::DoDispose ()
{
NS_LOG_FUNCTION (this);
m_phy->Dispose ();
m_phy = 0;
m_mac->Dispose ();
m_mac = 0;
Object::DoDispose ();
}
void
ComponentCarrierUe::DoInitialize (void)
{
NS_LOG_FUNCTION (this);
m_isConstructed = true;
m_phy->Initialize ();
m_mac->Initialize();
}
void
ComponentCarrierUe::SetPhy (Ptr<LteUePhy> s)
{
NS_LOG_FUNCTION (this);
m_phy = s;
}
Ptr<LteUePhy>
ComponentCarrierUe::GetPhy () const
{
NS_LOG_FUNCTION (this);
return m_phy;
}
void
ComponentCarrierUe::SetMac (Ptr<LteUeMac> s)
{
NS_LOG_FUNCTION (this);
m_mac = s;
}
Ptr<LteUeMac>
ComponentCarrierUe::GetMac () const
{
NS_LOG_FUNCTION (this);
return m_mac;
}
} // namespace ns3

View File

@@ -0,0 +1,87 @@
/* -*- Mode: C++; c-file-style: "gnu"; indent-tabs-mode:nil; -*- */
/*
* Copyright (c) 2015 Danilo Abrignani
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation;
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*
* Author: Danilo Abrignani <danilo.abrignani@unibo.it>
*/
#ifndef COMPONENT_CARRIER_UE_H
#define COMPONENT_CARRIER_UE_H
#include <ns3/object.h>
#include <ns3/packet.h>
#include <ns3/nstime.h>
#include "ns3/lte-phy.h"
#include <ns3/lte-ue-phy.h>
#include <ns3/component-carrier.h>
namespace ns3 {
class LteUeMac;
/**
* \ingroup lte
*
* ComponentCarrierUe Object, it defines a single Carrier for the Ue
*/
class ComponentCarrierUe : public ComponentCarrier
{
public:
static TypeId GetTypeId (void);
ComponentCarrierUe ();
virtual ~ComponentCarrierUe (void);
virtual void DoDispose (void);
/**
* \return a pointer to the physical layer.
*/
Ptr<LteUePhy> GetPhy (void) const;
Ptr<LteUeMac> GetMac (void) const;
/**
* Set LteUePhy
* \param s a pointer to the LteUePhy
*/
void SetPhy (Ptr<LteUePhy> s);
/**
* Set the LteEnbMac
* \ param s a pointer to the LteEnbMac
*/
void SetMac (Ptr<LteUeMac> s);
protected:
// inherited from Object
virtual void DoInitialize (void);
private:
Ptr<LteUePhy> m_phy;
Ptr<LteUeMac> m_mac;
};
} // namespace ns3
#endif /* COMPONENT_CARRIER_UE_H */

View File

@@ -0,0 +1,237 @@
/* -*- Mode: C++; c-file-style: "gnu"; indent-tabs-mode:nil; -*- */
/*
* Copyright (c) 2015 Danilo Abrignani
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation;
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*
* Author: Danilo Abrignani <danilo.abrignani@unibo.it>
*/
#include "component-carrier.h"
#include <ns3/uinteger.h>
#include <ns3/boolean.h>
#include <ns3/simulator.h>
#include <ns3/log.h>
#include <ns3/abort.h>
#include <ns3/lte-enb-phy.h>
#include <ns3/pointer.h>
namespace ns3 {
NS_LOG_COMPONENT_DEFINE ("ComponentCarrier");
NS_OBJECT_ENSURE_REGISTERED ( ComponentCarrier);
TypeId ComponentCarrier::GetTypeId (void)
{
static TypeId
tid =
TypeId ("ns3::ComponentCarrier")
.SetParent<Object> ()
.AddConstructor<ComponentCarrier> ()
.AddAttribute ("UlBandwidth",
"Uplink Transmission Bandwidth Configuration in number of Resource Blocks",
UintegerValue (25),
MakeUintegerAccessor (&ComponentCarrier::SetUlBandwidth,
&ComponentCarrier::GetUlBandwidth),
MakeUintegerChecker<uint8_t> ())
.AddAttribute ("DlBandwidth",
"Downlink Transmission Bandwidth Configuration in number of Resource Blocks",
UintegerValue (25),
MakeUintegerAccessor (&ComponentCarrier::SetDlBandwidth,
&ComponentCarrier::GetDlBandwidth),
MakeUintegerChecker<uint8_t> ())
.AddAttribute ("DlEarfcn",
"Downlink E-UTRA Absolute Radio Frequency Channel Number (EARFCN) "
"as per 3GPP 36.101 Section 5.7.3. ",
UintegerValue (100),
MakeUintegerAccessor (&ComponentCarrier::m_dlEarfcn),
MakeUintegerChecker<uint32_t> (0, 262143))
.AddAttribute ("UlEarfcn",
"Uplink E-UTRA Absolute Radio Frequency Channel Number (EARFCN) "
"as per 3GPP 36.101 Section 5.7.3. ",
UintegerValue (18100),
MakeUintegerAccessor (&ComponentCarrier::m_ulEarfcn),
MakeUintegerChecker<uint32_t> (18000, 262143))
.AddAttribute ("CsgId",
"The Closed Subscriber Group (CSG) identity that this eNodeB belongs to",
UintegerValue (0),
MakeUintegerAccessor (&ComponentCarrier::SetCsgId,
&ComponentCarrier::GetCsgId),
MakeUintegerChecker<uint32_t> ())
.AddAttribute ("CsgIndication",
"If true, only UEs which are members of the CSG (i.e. same CSG ID) "
"can gain access to the eNodeB, therefore enforcing closed access mode. "
"Otherwise, the eNodeB operates as a non-CSG cell and implements open access mode.",
BooleanValue (false),
MakeBooleanAccessor (&ComponentCarrier::SetCsgIndication,
&ComponentCarrier::GetCsgIndication),
MakeBooleanChecker ())
.AddAttribute ("PrimaryCarrier",
"If true, this Carrier Component will be the Primary Carrier Component (PCC) "
"Only one PCC per eNodeB is (currently) allowed",
BooleanValue (false),
MakeBooleanAccessor (&ComponentCarrier::SetAsPrimary,
&ComponentCarrier::IsPrimary),
MakeBooleanChecker ())
;
return tid;
}
ComponentCarrier::ComponentCarrier ()
: m_isConstructed (false)
{
NS_LOG_FUNCTION (this);
}
ComponentCarrier::~ComponentCarrier (void)
{
NS_LOG_FUNCTION (this);
}
void
ComponentCarrier::DoDispose ()
{
NS_LOG_FUNCTION (this);
Object::DoDispose ();
}
uint8_t
ComponentCarrier::GetUlBandwidth () const
{
return m_ulBandwidth;
}
void
ComponentCarrier::SetUlBandwidth (uint8_t bw)
{
NS_LOG_FUNCTION (this << uint16_t (bw));
switch (bw)
{
case 6:
case 15:
case 25:
case 50:
case 75:
case 100:
m_ulBandwidth = bw;
break;
default:
NS_FATAL_ERROR ("Invalid bandwidth value " << (uint16_t) bw);
break;
}
}
uint8_t
ComponentCarrier::GetDlBandwidth () const
{
return m_dlBandwidth;
}
void
ComponentCarrier::SetDlBandwidth (uint8_t bw)
{
NS_LOG_FUNCTION (this << uint16_t (bw));
switch (bw)
{
case 6:
case 15:
case 25:
case 50:
case 75:
case 100:
m_dlBandwidth = bw;
break;
default:
NS_FATAL_ERROR ("Invalid bandwidth value " << (uint16_t) bw);
break;
}
}
uint32_t
ComponentCarrier::GetDlEarfcn () const
{
return m_dlEarfcn;
}
void
ComponentCarrier::SetDlEarfcn (uint32_t earfcn)
{
NS_LOG_FUNCTION (this << earfcn);
m_dlEarfcn = earfcn;
}
uint32_t
ComponentCarrier::GetUlEarfcn () const
{
return m_ulEarfcn;
}
void
ComponentCarrier::SetUlEarfcn (uint32_t earfcn)
{
NS_LOG_FUNCTION (this << earfcn);
m_ulEarfcn = earfcn;
}
uint32_t
ComponentCarrier::GetCsgId () const
{
return m_csgId;
}
void
ComponentCarrier::SetCsgId (uint32_t csgId)
{
NS_LOG_FUNCTION (this << csgId);
m_csgId = csgId;
}
bool
ComponentCarrier::GetCsgIndication () const
{
return m_csgIndication;
}
void
ComponentCarrier::SetCsgIndication (bool csgIndication)
{
NS_LOG_FUNCTION (this << csgIndication);
m_csgIndication = csgIndication;
}
bool
ComponentCarrier::IsPrimary () const
{
return m_primaryCarrier;
}
void
ComponentCarrier::SetAsPrimary (bool primaryCarrier)
{
NS_LOG_FUNCTION (this << primaryCarrier);
m_primaryCarrier = primaryCarrier;
}
void
ComponentCarrier::DoInitialize (void)
{
NS_LOG_FUNCTION (this);
m_isConstructed = true;
}
} // namespace ns3

View File

@@ -0,0 +1,169 @@
/* -*- Mode: C++; c-file-style: "gnu"; indent-tabs-mode:nil; -*- */
/*
* Copyright (c) 2015 Danilo Abrignani
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation;
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*
* Author: Danilo Abrignani <danilo.abrignani@unibo.it>
*/
#ifndef COMPONENT_CARRIER_H
#define COMPONENT_CARRIER_H
#include <ns3/object.h>
#include <ns3/packet.h>
#include <ns3/nstime.h>
#include "ns3/lte-phy.h"
#include <ns3/lte-enb-phy.h>
#include <ns3/pointer.h>
namespace ns3 {
/**
* \ingroup lte
*
* ComponentCarrier Object, it defines a single Carrier
* This is the parent class for both ComponentCarrierEnb
* and ComponentCarrierUe.
* This class contains the main physical configuration
* parameters for a carrier. Does not contain pointers to
* the MAC/PHY objects of the carrier.
*/
class ComponentCarrier : public Object
{
public:
static TypeId GetTypeId (void);
ComponentCarrier ();
virtual ~ComponentCarrier (void);
virtual void DoDispose (void);
/**
* \return the uplink bandwidth in RBs
*/
uint8_t GetUlBandwidth () const;
/**
* \param bw the uplink bandwidth in RBs
*/
void SetUlBandwidth (uint8_t bw);
/**
* \return the downlink bandwidth in RBs
*/
uint8_t GetDlBandwidth () const;
/**
* \param bw the downlink bandwidth in RBs
*/
void SetDlBandwidth (uint8_t bw);
/**
* \return the downlink carrier frequency (EARFCN)
*/
uint32_t GetDlEarfcn () const;
/**
* \param earfcn the downlink carrier frequency (EARFCN)
*/
void SetDlEarfcn (uint32_t earfcn);
/**
* \return the uplink carrier frequency (EARFCN)
*/
uint32_t GetUlEarfcn () const;
/**
* \param earfcn the uplink carrier frequency (EARFCN)
*/
void SetUlEarfcn (uint32_t earfcn);
/**
* \brief Returns the CSG ID of the eNodeB.
* \return the Closed Subscriber Group identity
* \sa LteEnbNetDevice::SetCsgId
*/
uint32_t GetCsgId () const;
/**
* \brief Associate the eNodeB device with a particular CSG.
* \param csgId the intended Closed Subscriber Group identity
*
* CSG identity is a number identifying a Closed Subscriber Group which the
* cell belongs to. eNodeB is associated with a single CSG identity.
*
* The same CSG identity can also be associated to several UEs, which is
* equivalent as enlisting these UEs as the members of this particular CSG.
*
* \sa LteEnbNetDevice::SetCsgIndication
*/
void SetCsgId (uint32_t csgId);
/**
* \brief Returns the CSG indication flag of the eNodeB.
* \return the CSG indication flag
* \sa LteEnbNetDevice::SetCsgIndication
*/
bool GetCsgIndication () const;
/**
* \brief Enable or disable the CSG indication flag.
* \param csgIndication if TRUE, only CSG members are allowed to access this
* cell
*
* When the CSG indication field is set to TRUE, only UEs which are members of
* the CSG (i.e. same CSG ID) can gain access to the eNodeB, therefore
* enforcing closed access mode. Otherwise, the eNodeB operates as a non-CSG
* cell and implements open access mode.
*
* \note This restriction only applies to initial cell selection and
* EPC-enabled simulation.
*
* \sa LteEnbNetDevice::SetCsgIndication
*/
void SetCsgIndication (bool csgIndication);
void SetAsPrimary (bool primaryCarrier);
bool IsPrimary () const;
uint8_t m_dlBandwidth; /**< downlink bandwidth in RBs */
uint8_t m_ulBandwidth; /**< uplink bandwidth in RBs */
uint32_t m_dlEarfcn; /**< downlink carrier frequency */
uint32_t m_ulEarfcn; /**< uplink carrier frequency */
protected:
// inherited from Object
virtual void DoInitialize (void);
uint16_t m_csgId;
bool m_csgIndication;
bool m_primaryCarrier;
bool m_isConstructed;
// bool m_isConfigured;
};
} // namespace ns3
#endif /* COMPONENT_CARRIER_H */

View File

@@ -166,6 +166,18 @@ struct PhyReceptionStatParameters
};
struct DlSchedulingCallbackInfo
{
uint32_t frameNo;
uint32_t subframeNo;
uint16_t rnti;
uint8_t mcsTb1;
uint16_t sizeTb1;
uint8_t mcsTb2;
uint16_t sizeTb2;
uint8_t componentCarrierId;
};
/**
* Implements the E-UTRA measurement mappings defined in 3GPP TS
* 36.133 section 9.1 E-UTRAN measurements

View File

@@ -942,6 +942,7 @@ LteEnbMac::DoTransmitPdu (LteMacSapProvider::TransmitPduParameters params)
NS_LOG_FUNCTION (this);
LteRadioBearerTag tag (params.rnti, params.lcid, params.layer);
params.pdu->AddPacketTag (tag);
params.componentCarrierId = m_componentCarrierId;
// Store pkt in HARQ buffer
std::map <uint16_t, DlHarqProcessesBuffer_t>::iterator it = m_miDlHarqProcessesPackets.find (params.rnti);
NS_ASSERT (it != m_miDlHarqProcessesPackets.end ());

View File

@@ -18,6 +18,7 @@
* Author: Giuseppe Piro <g.piro@poliba.it>
* Author: Marco Miozzo <mmiozzo@cttc.es> : Update to FF API Architecture
* Author: Nicola Baldo <nbaldo@cttc.es> : Integrated with new RRC and MAC architecture
* Author: Danilo Abrignani <danilo.abrignani@unibo.it> : Integrated with new architecture - GSoC 2015 - Carrier Aggregation
*/
#include <ns3/llc-snap-header.h>
@@ -44,6 +45,8 @@
#include <ns3/ipv4-l3-protocol.h>
#include <ns3/abort.h>
#include <ns3/log.h>
#include <ns3/object-map.h>
#include <ns3/object-factory.h>
namespace ns3 {
@@ -93,6 +96,10 @@ TypeId LteEnbNetDevice::GetTypeId (void)
PointerValue (),
MakePointerAccessor (&LteEnbNetDevice::m_phy),
MakePointerChecker <LteEnbPhy> ())
.AddAttribute ("ComponentCarrierMap", "List of component carriers.",
ObjectMapValue (),
MakeObjectMapAccessor (&LteEnbNetDevice::m_ccMap),
MakeObjectMapChecker<ComponentCarrierEnb> ())
.AddAttribute ("UlBandwidth",
"Uplink Transmission Bandwidth Configuration in number of Resource Blocks",
UintegerValue (25),
@@ -199,6 +206,18 @@ LteEnbNetDevice::GetPhy () const
return m_phy;
}
Ptr<LteEnbMac>
LteEnbNetDevice::GetMac (uint8_t index)
{
return m_ccMap.at (index)->GetMac ();
}
Ptr<LteEnbPhy>
LteEnbNetDevice::GetPhy(uint8_t index)
{
return m_ccMap.at (index)->GetPhy ();
}
Ptr<LteEnbRrc>
LteEnbNetDevice::GetRrc () const
{
@@ -319,6 +338,17 @@ LteEnbNetDevice::SetCsgIndication (bool csgIndication)
UpdateConfig (); // propagate the change to RRC level
}
std::map < uint8_t, Ptr<ComponentCarrierEnb> >
LteEnbNetDevice::GetCcMap ()
{
return m_ccMap;
}
void
LteEnbNetDevice::SetCcMap (std::map< uint8_t, Ptr<ComponentCarrierEnb> > ccm)
{
m_ccMap = ccm;
}
void
LteEnbNetDevice::DoInitialize (void)

View File

@@ -17,6 +17,7 @@
*
* Author: Giuseppe Piro <g.piro@poliba.it>
* Author: Marco Miozzo <marco.miozzo@cttc.es> : Update to FF API Architecture
* Author: Danilo Abrignani <danilo.abrignani@unibo.it> : Integrated with new architecture - GSoC 2015 - Carrier Aggregation
*/
#ifndef LTE_ENB_NET_DEVICE_H
@@ -28,7 +29,9 @@
#include "ns3/traced-callback.h"
#include "ns3/nstime.h"
#include "ns3/lte-phy.h"
#include "ns3/component-carrier-enb.h"
#include <vector>
#include <map>
namespace ns3 {
@@ -63,14 +66,24 @@ public:
virtual bool Send (Ptr<Packet> packet, const Address& dest, uint16_t protocolNumber);
/**
* \return a pointer to the MAC
* \return a pointer to the MAC of the PCC.
*/
Ptr<LteEnbMac> GetMac (void) const;
/**
* \return a pointer to the physical layer.
* \return a pointer to the MAC of the CC addressed by index.
*/
Ptr<LteEnbMac> GetMac (uint8_t index);
/**
* \return a pointer to the physical layer of the PCC.
*/
Ptr<LteEnbPhy> GetPhy (void) const;
/**
* \return a pointer to the physical layer of the SCC addressed by index.
*/
Ptr<LteEnbPhy> GetPhy (uint8_t index);
/**
* \return a pointer to the Radio Resource Control instance of the eNB
@@ -167,6 +180,21 @@ public:
*/
void SetCsgIndication (bool csgIndication);
/**
* \brief Set the ComponentCarrier Map of the Enb
* \param ccm the map of ComponentCarrierEnb
*
*/
void SetCcMap (std::map< uint8_t, Ptr<ComponentCarrierEnb> > ccm);
/**
* \returns The Component Carrier Map of the Enb.
*
*/
std::map< uint8_t, Ptr<ComponentCarrierEnb> > GetCcMap (void);
protected:
// inherited from Object
virtual void DoInitialize (void);
@@ -188,31 +216,32 @@ private:
*/
void UpdateConfig ();
Ptr<LteEnbMac> m_mac;
Ptr<LteEnbMac> m_mac; /**< DEPRECATED - It is maintained for backward compatibility after adding CA feature*/
Ptr<LteEnbPhy> m_phy;
Ptr<LteEnbPhy> m_phy; /**< DEPRECATED - It is maintained for backward compatibility after adding CA feature*/
Ptr<LteEnbRrc> m_rrc;
Ptr<FfMacScheduler> m_scheduler;
Ptr<FfMacScheduler> m_scheduler; /**< DEPRECATED - It is maintained for backward compatibility after adding CA feature*/
Ptr<LteHandoverAlgorithm> m_handoverAlgorithm;
Ptr<LteAnr> m_anr;
Ptr<LteFfrAlgorithm> m_ffrAlgorithm;
Ptr<LteFfrAlgorithm> m_ffrAlgorithm; /**< DEPRECATED - It is maintained for backward compatibility after adding CA feature*/
uint16_t m_cellId; /**< Cell Identifer. Part of the CGI, see TS 29.274, section 8.21.1 */
uint8_t m_dlBandwidth; /**< downlink bandwidth in RBs */
uint8_t m_ulBandwidth; /**< uplink bandwidth in RBs */
uint8_t m_dlBandwidth; /**<DEPRECATE - It is maintained for backward compatibility after adding CA feature- downlink bandwidth in RBs */
uint8_t m_ulBandwidth; /**<DEPRECATE - It is maintained for backward compatibility after adding CA feature- uplink bandwidth in RBs */
uint32_t m_dlEarfcn; /**< downlink carrier frequency */
uint32_t m_ulEarfcn; /**< uplink carrier frequency */
uint32_t m_dlEarfcn; /**<DEPRECATE - It is maintained for backward compatibility after adding CA feature- downlink carrier frequency */
uint32_t m_ulEarfcn; /**<DEPRECATE - It is maintained for backward compatibility after adding CA feature- uplink carrier frequency */
uint16_t m_csgId;
bool m_csgIndication;
std::map < uint8_t, Ptr<ComponentCarrierEnb> > m_ccMap; /**< ComponentCarrier map */
}; // end of class LteEnbNetDevice
} // namespace ns3

View File

@@ -2347,6 +2347,11 @@ LteEnbRrc::SetCsgId (uint32_t csgId, bool csgIndication)
m_cphySapProvider->SetSystemInformationBlockType1 (m_sib1);
}
void
LteEnbRrc::SetNumberOfComponentCarriers(uint16_t numberOfComponentCarriers)
{
m_numberOfComponentCarriers = numberOfComponentCarriers;
}
/// Number of distinct SRS periodicity plus one.
static const uint8_t SRS_ENTRIES = 9;

View File

@@ -993,6 +993,8 @@ public:
*/
void SetCsgId (uint32_t csgId, bool csgIndication);
void SetNumberOfComponentCarriers (uint16_t numberOfComponentCarriers);
private:
/**
@@ -1250,6 +1252,8 @@ private:
*/
TracedCallback<uint64_t, uint16_t, uint16_t, LteRrcSap::MeasurementReport> m_recvMeasurementReportTrace;
uint16_t m_numberOfComponentCarriers;
}; // end of `class LteEnbRrc`

View File

@@ -18,6 +18,9 @@
* Author: Giuseppe Piro <g.piro@poliba.it>
* Nicola Baldo <nbaldo@cttc.es>
* Marco Miozzo <mmiozzo@cttc.es>
* Modified by:
* Danilo Abrignani <danilo.abrignani@unibo.it> (Carrier Aggregation - GSoC 2015)
* Biljana Bojovic <biljana.bojovic@cttc.es> (Carrier Aggregation)
*/
#include "ns3/llc-snap-header.h"
@@ -43,6 +46,8 @@
#include <ns3/ipv4-l3-protocol.h>
#include <ns3/log.h>
#include "epc-tft.h"
#include <ns3/object-map.h>
#include <ns3/object-factory.h>
namespace ns3 {
@@ -78,6 +83,10 @@ TypeId LteUeNetDevice::GetTypeId (void)
PointerValue (),
MakePointerAccessor (&LteUeNetDevice::m_phy),
MakePointerChecker <LteUePhy> ())
.AddAttribute ("ComponentCarrierMapUe", "List of all component Carrier.",
ObjectMapValue (),
MakeObjectMapAccessor (&LteUeNetDevice::m_ccMap),
MakeObjectMapChecker<ComponentCarrierUe> ())
.AddAttribute ("Imsi",
"International Mobile Subscriber Identity assigned to this UE",
UintegerValue (0),
@@ -237,6 +246,18 @@ LteUeNetDevice::GetTargetEnb (void)
return m_targetEnb;
}
std::map < uint8_t, Ptr<ComponentCarrierUe> >
LteUeNetDevice::GetCcMap ()
{
return m_ccMap;
}
void
LteUeNetDevice::SetCcMap (std::map< uint8_t, Ptr<ComponentCarrierUe> > ccm)
{
m_ccMap = ccm;
}
void
LteUeNetDevice::DoInitialize (void)
{

View File

@@ -17,6 +17,9 @@
*
* Author: Giuseppe Piro <g.piro@poliba.it>
* Nicola Baldo <nbaldo@cttc.es>
* Modified by:
* Danilo Abrignani <danilo.abrignani@unibo.it> (Carrier Aggregation - GSoC 2015)
* Biljana Bojovic <biljana.bojovic@cttc.es> (Carrier Aggregation)
*/
#ifndef LTE_UE_NET_DEVICE_H
@@ -29,7 +32,9 @@
#include "ns3/nstime.h"
#include "ns3/lte-phy.h"
#include "ns3/eps-bearer.h"
#include "ns3/component-carrier-ue.h"
#include <vector>
#include <map>
namespace ns3 {
@@ -120,6 +125,15 @@ public:
*/
Ptr<LteEnbNetDevice> GetTargetEnb (void);
/**
* \brief Set the ComponentCarrier Map for the UE
* \param ccm the map of ComponentCarrierUe
*/
void SetCcMap (std::map< uint8_t, Ptr<ComponentCarrierUe> > ccm);
std::map< uint8_t, Ptr<ComponentCarrierUe> > GetCcMap (void);
protected:
// inherited from Object
@@ -153,6 +167,8 @@ private:
uint32_t m_csgId;
std::map < uint8_t, Ptr<ComponentCarrierUe> > m_ccMap;
}; // end of class LteUeNetDevice
} // namespace ns3

View File

@@ -121,6 +121,9 @@ def build(bld):
'model/lte-ffr-enhanced-algorithm.cc',
'model/lte-ffr-distributed-algorithm.cc',
'model/lte-ue-power-control.cc',
'model/component-carrier.cc',
'model/component-carrier-ue.cc',
'model/component-carrier-enb.cc'
]
module_test = bld.create_ns3_module_test_library('lte')
@@ -294,8 +297,11 @@ def build(bld):
'model/lte-fr-soft-algorithm.h',
'model/lte-ffr-soft-algorithm.h',
'model/lte-ffr-enhanced-algorithm.h',
'model/lte-ffr-distributed-algorithm.h',
'model/lte-ue-power-control.h',
'model/lte-ffr-distributed-algorithm.h',
'model/lte-ue-power-control.h',
'model/component-carrier.h',
'model/component-carrier-ue.h',
'model/component-carrier-enb.h'
]
if (bld.env['ENABLE_EMU']):