model+cs: Now it is possible to get pointer to ContentStore from cs::Entry
In some cases it is desirable to know which ContentStore (=on which
Node) a particular cs::Entry belongs to. Now it is possible to
accomplish this task using cs::Entry::GetContentStore method.
diff --git a/bindings/modulegen__gcc_ILP32.py b/bindings/modulegen__gcc_ILP32.py
index bf1a2af..323ad58 100644
--- a/bindings/modulegen__gcc_ILP32.py
+++ b/bindings/modulegen__gcc_ILP32.py
@@ -90,6 +90,8 @@
module.add_class('RandomVariable', import_from_module='ns.core')
## rng-seed-manager.h (module 'core'): ns3::RngSeedManager [class]
module.add_class('RngSeedManager', import_from_module='ns.core')
+ ## sequence-number.h (module 'network'): ns3::SequenceNumber<unsigned int, int> [class]
+ module.add_class('SequenceNumber32', import_from_module='ns.network')
## random-variable.h (module 'core'): ns3::SequentialVariable [class]
module.add_class('SequentialVariable', import_from_module='ns.core', parent=root_module['ns3::RandomVariable'])
## simple-ref-count.h (module 'core'): ns3::SimpleRefCount<ns3::Object, ns3::ObjectBase, ns3::ObjectDeleter> [class]
@@ -98,6 +100,8 @@
module.add_class('Tag', import_from_module='ns.network', parent=root_module['ns3::ObjectBase'])
## tag-buffer.h (module 'network'): ns3::TagBuffer [class]
module.add_class('TagBuffer', import_from_module='ns.network')
+ ## traced-value.h (module 'core'): ns3::TracedValue<ns3::ndn::fib::FaceMetric::Status> [class]
+ module.add_class('TracedValue', template_parameters=['ns3::ndn::fib::FaceMetric::Status'])
## random-variable.h (module 'core'): ns3::TriangularVariable [class]
module.add_class('TriangularVariable', import_from_module='ns.core', parent=root_module['ns3::RandomVariable'])
## type-id.h (module 'core'): ns3::TypeId [class]
@@ -278,6 +282,12 @@
module.add_class('AddressValue', import_from_module='ns.network', parent=root_module['ns3::AttributeValue'])
module.add_container('std::map< std::string, std::string >', ('std::string', 'std::string'), container_type='map')
module.add_container('std::list< ns3::TopologyReader::Link >', 'ns3::TopologyReader::Link', container_type='list')
+ typehandlers.add_type_alias('ns3::SequenceNumber< short unsigned int, short int >', 'ns3::SequenceNumber16')
+ typehandlers.add_type_alias('ns3::SequenceNumber< short unsigned int, short int >*', 'ns3::SequenceNumber16*')
+ typehandlers.add_type_alias('ns3::SequenceNumber< short unsigned int, short int >&', 'ns3::SequenceNumber16&')
+ typehandlers.add_type_alias('ns3::SequenceNumber< unsigned int, int >', 'ns3::SequenceNumber32')
+ typehandlers.add_type_alias('ns3::SequenceNumber< unsigned int, int >*', 'ns3::SequenceNumber32*')
+ typehandlers.add_type_alias('ns3::SequenceNumber< unsigned int, int >&', 'ns3::SequenceNumber32&')
typehandlers.add_type_alias('ns3::RngSeedManager', 'ns3::SeedManager')
typehandlers.add_type_alias('ns3::RngSeedManager*', 'ns3::SeedManager*')
typehandlers.add_type_alias('ns3::RngSeedManager&', 'ns3::SeedManager&')
@@ -364,6 +374,10 @@
module.add_class('NetDeviceFace', parent=root_module['ns3::ndn::Face'])
## ndn-pit.h (module 'ndnSIM'): ns3::ndn::Pit [class]
module.add_class('Pit', parent=root_module['ns3::Object'])
+ ## ndn-rtt-estimator.h (module 'ndnSIM'): ns3::ndn::RttEstimator [class]
+ module.add_class('RttEstimator', parent=root_module['ns3::Object'])
+ ## ndn-rtt-estimator.h (module 'ndnSIM'): ns3::ndn::RttHistory [class]
+ module.add_class('RttHistory')
## ndn-stack-helper.h (module 'ndnSIM'): ns3::ndn::StackHelper [class]
module.add_class('StackHelper')
## ndn-header-helper.h (module 'ndnSIM'): ns3::ndn::UnknownHeaderException [class]
@@ -373,6 +387,9 @@
module.add_container('std::vector< ns3::Ptr< ns3::ndn::Face > >', 'ns3::Ptr< ns3::ndn::Face >', container_type='vector')
module.add_container('std::list< boost::reference_wrapper< std::string const > >', 'boost::reference_wrapper< std::basic_string< char, std::char_traits< char >, std::allocator< char > > const >', container_type='list')
module.add_container('std::list< std::string >', 'std::string', container_type='list')
+ typehandlers.add_type_alias('std::deque< ns3::ndn::RttHistory, std::allocator< ns3::ndn::RttHistory > >', 'ns3::ndn::RttHistory_t')
+ typehandlers.add_type_alias('std::deque< ns3::ndn::RttHistory, std::allocator< ns3::ndn::RttHistory > >*', 'ns3::ndn::RttHistory_t*')
+ typehandlers.add_type_alias('std::deque< ns3::ndn::RttHistory, std::allocator< ns3::ndn::RttHistory > >&', 'ns3::ndn::RttHistory_t&')
## Register a nested module for the namespace cs
@@ -481,10 +498,12 @@
register_Ns3PacketTagListTagData_methods(root_module, root_module['ns3::PacketTagList::TagData'])
register_Ns3RandomVariable_methods(root_module, root_module['ns3::RandomVariable'])
register_Ns3RngSeedManager_methods(root_module, root_module['ns3::RngSeedManager'])
+ register_Ns3SequenceNumber32_methods(root_module, root_module['ns3::SequenceNumber32'])
register_Ns3SequentialVariable_methods(root_module, root_module['ns3::SequentialVariable'])
register_Ns3SimpleRefCount__Ns3Object_Ns3ObjectBase_Ns3ObjectDeleter_methods(root_module, root_module['ns3::SimpleRefCount< ns3::Object, ns3::ObjectBase, ns3::ObjectDeleter >'])
register_Ns3Tag_methods(root_module, root_module['ns3::Tag'])
register_Ns3TagBuffer_methods(root_module, root_module['ns3::TagBuffer'])
+ register_Ns3TracedValue__Ns3NdnFibFaceMetricStatus_methods(root_module, root_module['ns3::TracedValue< ns3::ndn::fib::FaceMetric::Status >'])
register_Ns3TriangularVariable_methods(root_module, root_module['ns3::TriangularVariable'])
register_Ns3TypeId_methods(root_module, root_module['ns3::TypeId'])
register_Ns3TypeIdAttributeInformation_methods(root_module, root_module['ns3::TypeId::AttributeInformation'])
@@ -593,6 +612,8 @@
register_Ns3NdnNameValue_methods(root_module, root_module['ns3::ndn::NameValue'])
register_Ns3NdnNetDeviceFace_methods(root_module, root_module['ns3::ndn::NetDeviceFace'])
register_Ns3NdnPit_methods(root_module, root_module['ns3::ndn::Pit'])
+ register_Ns3NdnRttEstimator_methods(root_module, root_module['ns3::ndn::RttEstimator'])
+ register_Ns3NdnRttHistory_methods(root_module, root_module['ns3::ndn::RttHistory'])
register_Ns3NdnStackHelper_methods(root_module, root_module['ns3::ndn::StackHelper'])
register_Ns3NdnUnknownHeaderException_methods(root_module, root_module['ns3::ndn::UnknownHeaderException'])
register_Ns3NdnAppFace_methods(root_module, root_module['ns3::ndn::AppFace'])
@@ -2052,6 +2073,31 @@
is_static=True)
return
+def register_Ns3SequenceNumber32_methods(root_module, cls):
+ cls.add_binary_comparison_operator('!=')
+ cls.add_binary_numeric_operator('+', root_module['ns3::SequenceNumber32'], root_module['ns3::SequenceNumber32'], param('ns3::SequenceNumber< unsigned int, int > const &', 'right'))
+ cls.add_binary_numeric_operator('+', root_module['ns3::SequenceNumber32'], root_module['ns3::SequenceNumber32'], param('int', 'right'))
+ cls.add_inplace_numeric_operator('+=', param('int', 'right'))
+ cls.add_binary_numeric_operator('-', root_module['ns3::SequenceNumber32'], root_module['ns3::SequenceNumber32'], param('int', 'right'))
+ cls.add_inplace_numeric_operator('-=', param('int', 'right'))
+ cls.add_binary_comparison_operator('<')
+ cls.add_binary_comparison_operator('<=')
+ cls.add_binary_comparison_operator('==')
+ cls.add_binary_comparison_operator('>')
+ cls.add_binary_comparison_operator('>=')
+ ## sequence-number.h (module 'network'): ns3::SequenceNumber<unsigned int, int>::SequenceNumber() [constructor]
+ cls.add_constructor([])
+ ## sequence-number.h (module 'network'): ns3::SequenceNumber<unsigned int, int>::SequenceNumber(unsigned int value) [constructor]
+ cls.add_constructor([param('unsigned int', 'value')])
+ ## sequence-number.h (module 'network'): ns3::SequenceNumber<unsigned int, int>::SequenceNumber(ns3::SequenceNumber<unsigned int, int> const & value) [copy constructor]
+ cls.add_constructor([param('ns3::SequenceNumber< unsigned int, int > const &', 'value')])
+ ## sequence-number.h (module 'network'): unsigned int ns3::SequenceNumber<unsigned int, int>::GetValue() const [member function]
+ cls.add_method('GetValue',
+ 'unsigned int',
+ [],
+ is_const=True)
+ return
+
def register_Ns3SequentialVariable_methods(root_module, cls):
## random-variable.h (module 'core'): ns3::SequentialVariable::SequentialVariable(ns3::SequentialVariable const & arg0) [copy constructor]
cls.add_constructor([param('ns3::SequentialVariable const &', 'arg0')])
@@ -2168,6 +2214,40 @@
[param('uint8_t', 'v')])
return
+def register_Ns3TracedValue__Ns3NdnFibFaceMetricStatus_methods(root_module, cls):
+ ## traced-value.h (module 'core'): ns3::TracedValue<ns3::ndn::fib::FaceMetric::Status>::TracedValue() [constructor]
+ cls.add_constructor([])
+ ## traced-value.h (module 'core'): ns3::TracedValue<ns3::ndn::fib::FaceMetric::Status>::TracedValue(ns3::TracedValue<ns3::ndn::fib::FaceMetric::Status> const & o) [copy constructor]
+ cls.add_constructor([param('ns3::TracedValue< ns3::ndn::fib::FaceMetric::Status > const &', 'o')])
+ ## traced-value.h (module 'core'): ns3::TracedValue<ns3::ndn::fib::FaceMetric::Status>::TracedValue(ns3::ndn::fib::FaceMetric::Status const & v) [constructor]
+ cls.add_constructor([param('ns3::ndn::fib::FaceMetric::Status const &', 'v')])
+ ## traced-value.h (module 'core'): void ns3::TracedValue<ns3::ndn::fib::FaceMetric::Status>::Connect(ns3::CallbackBase const & cb, std::basic_string<char,std::char_traits<char>,std::allocator<char> > path) [member function]
+ cls.add_method('Connect',
+ 'void',
+ [param('ns3::CallbackBase const &', 'cb'), param('std::string', 'path')])
+ ## traced-value.h (module 'core'): void ns3::TracedValue<ns3::ndn::fib::FaceMetric::Status>::ConnectWithoutContext(ns3::CallbackBase const & cb) [member function]
+ cls.add_method('ConnectWithoutContext',
+ 'void',
+ [param('ns3::CallbackBase const &', 'cb')])
+ ## traced-value.h (module 'core'): void ns3::TracedValue<ns3::ndn::fib::FaceMetric::Status>::Disconnect(ns3::CallbackBase const & cb, std::basic_string<char,std::char_traits<char>,std::allocator<char> > path) [member function]
+ cls.add_method('Disconnect',
+ 'void',
+ [param('ns3::CallbackBase const &', 'cb'), param('std::string', 'path')])
+ ## traced-value.h (module 'core'): void ns3::TracedValue<ns3::ndn::fib::FaceMetric::Status>::DisconnectWithoutContext(ns3::CallbackBase const & cb) [member function]
+ cls.add_method('DisconnectWithoutContext',
+ 'void',
+ [param('ns3::CallbackBase const &', 'cb')])
+ ## traced-value.h (module 'core'): ns3::ndn::fib::FaceMetric::Status ns3::TracedValue<ns3::ndn::fib::FaceMetric::Status>::Get() const [member function]
+ cls.add_method('Get',
+ 'ns3::ndn::fib::FaceMetric::Status',
+ [],
+ is_const=True)
+ ## traced-value.h (module 'core'): void ns3::TracedValue<ns3::ndn::fib::FaceMetric::Status>::Set(ns3::ndn::fib::FaceMetric::Status const & v) [member function]
+ cls.add_method('Set',
+ 'void',
+ [param('ns3::ndn::fib::FaceMetric::Status const &', 'v')])
+ return
+
def register_Ns3TriangularVariable_methods(root_module, cls):
## random-variable.h (module 'core'): ns3::TriangularVariable::TriangularVariable(ns3::TriangularVariable const & arg0) [copy constructor]
cls.add_constructor([param('ns3::TriangularVariable const &', 'arg0')])
@@ -5218,10 +5298,16 @@
cls.add_method('AddOriginsForAll',
'void',
[])
- ## ndn-global-routing-helper.h (module 'ndnSIM'): void ns3::ndn::GlobalRoutingHelper::CalculateRoutes() [member function]
+ ## ndn-global-routing-helper.h (module 'ndnSIM'): static void ns3::ndn::GlobalRoutingHelper::CalculateAllPossibleRoutes() [member function]
+ cls.add_method('CalculateAllPossibleRoutes',
+ 'void',
+ [],
+ is_static=True)
+ ## ndn-global-routing-helper.h (module 'ndnSIM'): static void ns3::ndn::GlobalRoutingHelper::CalculateRoutes() [member function]
cls.add_method('CalculateRoutes',
'void',
- [])
+ [],
+ is_static=True)
## ndn-global-routing-helper.h (module 'ndnSIM'): void ns3::ndn::GlobalRoutingHelper::Install(ns3::Ptr<ns3::Node> node) [member function]
cls.add_method('Install',
'void',
@@ -5764,6 +5850,105 @@
is_pure_virtual=True, is_const=True, is_virtual=True)
return
+def register_Ns3NdnRttEstimator_methods(root_module, cls):
+ ## ndn-rtt-estimator.h (module 'ndnSIM'): ns3::ndn::RttEstimator::RttEstimator() [constructor]
+ cls.add_constructor([])
+ ## ndn-rtt-estimator.h (module 'ndnSIM'): ns3::ndn::RttEstimator::RttEstimator(ns3::ndn::RttEstimator const & arg0) [copy constructor]
+ cls.add_constructor([param('ns3::ndn::RttEstimator const &', 'arg0')])
+ ## ndn-rtt-estimator.h (module 'ndnSIM'): ns3::Time ns3::ndn::RttEstimator::AckSeq(ns3::SequenceNumber32 ackSeq) [member function]
+ cls.add_method('AckSeq',
+ 'ns3::Time',
+ [param('ns3::SequenceNumber32', 'ackSeq')],
+ is_virtual=True)
+ ## ndn-rtt-estimator.h (module 'ndnSIM'): void ns3::ndn::RttEstimator::ClearSent() [member function]
+ cls.add_method('ClearSent',
+ 'void',
+ [],
+ is_virtual=True)
+ ## ndn-rtt-estimator.h (module 'ndnSIM'): ns3::Ptr<ns3::ndn::RttEstimator> ns3::ndn::RttEstimator::Copy() const [member function]
+ cls.add_method('Copy',
+ 'ns3::Ptr< ns3::ndn::RttEstimator >',
+ [],
+ is_pure_virtual=True, is_const=True, is_virtual=True)
+ ## ndn-rtt-estimator.h (module 'ndnSIM'): ns3::Time ns3::ndn::RttEstimator::GetCurrentEstimate() const [member function]
+ cls.add_method('GetCurrentEstimate',
+ 'ns3::Time',
+ [],
+ is_const=True)
+ ## ndn-rtt-estimator.h (module 'ndnSIM'): ns3::Time ns3::ndn::RttEstimator::GetMaxRto() const [member function]
+ cls.add_method('GetMaxRto',
+ 'ns3::Time',
+ [],
+ is_const=True)
+ ## ndn-rtt-estimator.h (module 'ndnSIM'): ns3::Time ns3::ndn::RttEstimator::GetMinRto() const [member function]
+ cls.add_method('GetMinRto',
+ 'ns3::Time',
+ [],
+ is_const=True)
+ ## ndn-rtt-estimator.h (module 'ndnSIM'): static ns3::TypeId ns3::ndn::RttEstimator::GetTypeId() [member function]
+ cls.add_method('GetTypeId',
+ 'ns3::TypeId',
+ [],
+ is_static=True)
+ ## ndn-rtt-estimator.h (module 'ndnSIM'): void ns3::ndn::RttEstimator::IncreaseMultiplier() [member function]
+ cls.add_method('IncreaseMultiplier',
+ 'void',
+ [],
+ is_virtual=True)
+ ## ndn-rtt-estimator.h (module 'ndnSIM'): void ns3::ndn::RttEstimator::Measurement(ns3::Time t) [member function]
+ cls.add_method('Measurement',
+ 'void',
+ [param('ns3::Time', 't')],
+ is_pure_virtual=True, is_virtual=True)
+ ## ndn-rtt-estimator.h (module 'ndnSIM'): void ns3::ndn::RttEstimator::Reset() [member function]
+ cls.add_method('Reset',
+ 'void',
+ [],
+ is_virtual=True)
+ ## ndn-rtt-estimator.h (module 'ndnSIM'): void ns3::ndn::RttEstimator::ResetMultiplier() [member function]
+ cls.add_method('ResetMultiplier',
+ 'void',
+ [],
+ is_virtual=True)
+ ## ndn-rtt-estimator.h (module 'ndnSIM'): ns3::Time ns3::ndn::RttEstimator::RetransmitTimeout() [member function]
+ cls.add_method('RetransmitTimeout',
+ 'ns3::Time',
+ [],
+ is_pure_virtual=True, is_virtual=True)
+ ## ndn-rtt-estimator.h (module 'ndnSIM'): void ns3::ndn::RttEstimator::SentSeq(ns3::SequenceNumber32 seq, uint32_t size) [member function]
+ cls.add_method('SentSeq',
+ 'void',
+ [param('ns3::SequenceNumber32', 'seq'), param('uint32_t', 'size')],
+ is_virtual=True)
+ ## ndn-rtt-estimator.h (module 'ndnSIM'): void ns3::ndn::RttEstimator::SetCurrentEstimate(ns3::Time estimate) [member function]
+ cls.add_method('SetCurrentEstimate',
+ 'void',
+ [param('ns3::Time', 'estimate')])
+ ## ndn-rtt-estimator.h (module 'ndnSIM'): void ns3::ndn::RttEstimator::SetMaxRto(ns3::Time maxRto) [member function]
+ cls.add_method('SetMaxRto',
+ 'void',
+ [param('ns3::Time', 'maxRto')])
+ ## ndn-rtt-estimator.h (module 'ndnSIM'): void ns3::ndn::RttEstimator::SetMinRto(ns3::Time minRto) [member function]
+ cls.add_method('SetMinRto',
+ 'void',
+ [param('ns3::Time', 'minRto')])
+ return
+
+def register_Ns3NdnRttHistory_methods(root_module, cls):
+ ## ndn-rtt-estimator.h (module 'ndnSIM'): ns3::ndn::RttHistory::RttHistory(ns3::SequenceNumber32 s, uint32_t c, ns3::Time t) [constructor]
+ cls.add_constructor([param('ns3::SequenceNumber32', 's'), param('uint32_t', 'c'), param('ns3::Time', 't')])
+ ## ndn-rtt-estimator.h (module 'ndnSIM'): ns3::ndn::RttHistory::RttHistory(ns3::ndn::RttHistory const & h) [copy constructor]
+ cls.add_constructor([param('ns3::ndn::RttHistory const &', 'h')])
+ ## ndn-rtt-estimator.h (module 'ndnSIM'): ns3::ndn::RttHistory::count [variable]
+ cls.add_instance_attribute('count', 'uint32_t', is_const=False)
+ ## ndn-rtt-estimator.h (module 'ndnSIM'): ns3::ndn::RttHistory::retx [variable]
+ cls.add_instance_attribute('retx', 'bool', is_const=False)
+ ## ndn-rtt-estimator.h (module 'ndnSIM'): ns3::ndn::RttHistory::seq [variable]
+ cls.add_instance_attribute('seq', 'ns3::SequenceNumber32', is_const=False)
+ ## ndn-rtt-estimator.h (module 'ndnSIM'): ns3::ndn::RttHistory::time [variable]
+ cls.add_instance_attribute('time', 'ns3::Time', is_const=False)
+ return
+
def register_Ns3NdnStackHelper_methods(root_module, cls):
## ndn-stack-helper.h (module 'ndnSIM'): ns3::ndn::StackHelper::StackHelper() [constructor]
cls.add_constructor([])
@@ -5881,8 +6066,12 @@
def register_Ns3NdnCsEntry_methods(root_module, cls):
## ndn-content-store.h (module 'ndnSIM'): ns3::ndn::cs::Entry::Entry(ns3::ndn::cs::Entry const & arg0) [copy constructor]
cls.add_constructor([param('ns3::ndn::cs::Entry const &', 'arg0')])
- ## ndn-content-store.h (module 'ndnSIM'): ns3::ndn::cs::Entry::Entry(ns3::Ptr<ns3::ndn::ContentObjectHeader const> header, ns3::Ptr<const ns3::Packet> packet) [constructor]
- cls.add_constructor([param('ns3::Ptr< ns3::ndn::ContentObjectHeader const >', 'header'), param('ns3::Ptr< ns3::Packet const >', 'packet')])
+ ## ndn-content-store.h (module 'ndnSIM'): ns3::ndn::cs::Entry::Entry(ns3::Ptr<ns3::ndn::ContentStore> cs, ns3::Ptr<ns3::ndn::ContentObjectHeader const> header, ns3::Ptr<const ns3::Packet> packet) [constructor]
+ cls.add_constructor([param('ns3::Ptr< ns3::ndn::ContentStore >', 'cs'), param('ns3::Ptr< ns3::ndn::ContentObjectHeader const >', 'header'), param('ns3::Ptr< ns3::Packet const >', 'packet')])
+ ## ndn-content-store.h (module 'ndnSIM'): ns3::Ptr<ns3::ndn::ContentStore> ns3::ndn::cs::Entry::GetContentStore() [member function]
+ cls.add_method('GetContentStore',
+ 'ns3::Ptr< ns3::ndn::ContentStore >',
+ [])
## ndn-content-store.h (module 'ndnSIM'): ns3::Ptr<ns3::Packet> ns3::ndn::cs::Entry::GetFullyFormedNdnPacket() const [member function]
cls.add_method('GetFullyFormedNdnPacket',
'ns3::Ptr< ns3::Packet >',
@@ -5987,6 +6176,10 @@
'ns3::ndn::fib::FaceMetric::Status',
[],
is_const=True)
+ ## ndn-fib-entry.h (module 'ndnSIM'): ns3::TracedValue<ns3::ndn::fib::FaceMetric::Status> & ns3::ndn::fib::FaceMetric::GetStatusTrace() [member function]
+ cls.add_method('GetStatusTrace',
+ 'ns3::TracedValue< ns3::ndn::fib::FaceMetric::Status > &',
+ [])
## ndn-fib-entry.h (module 'ndnSIM'): void ns3::ndn::fib::FaceMetric::SetRealDelay(ns3::Time realDelay) [member function]
cls.add_method('SetRealDelay',
'void',