Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Create dict in NetworkNS3Model constructor.
authorArnaud Giersch <arnaud.giersch@univ-fcomte.fr>
Sun, 27 Aug 2017 15:00:52 +0000 (17:00 +0200)
committerArnaud Giersch <arnaud.giersch@univ-fcomte.fr>
Sun, 27 Aug 2017 15:00:52 +0000 (17:00 +0200)
It's already destroyed from ~NetworkNS3Model.

src/surf/network_ns3.cpp
src/surf/ns3/ns3_simulator.cc

index 31f5fd9..1374317 100644 (file)
@@ -143,6 +143,7 @@ namespace surf {
 NetworkNS3Model::NetworkNS3Model() : NetworkModel() {
   NetPointNs3::EXTENSION_ID = simgrid::kernel::routing::NetPoint::extension_create<NetPointNs3>();
 
 NetworkNS3Model::NetworkNS3Model() : NetworkModel() {
   NetPointNs3::EXTENSION_ID = simgrid::kernel::routing::NetPoint::extension_create<NetPointNs3>();
 
+  flowFromSock = xbt_dict_new_homogeneous([](void* p) { delete (SgFlow*)p; });
   ns3_initialize(ns3_tcp_model.get().c_str());
 
   simgrid::kernel::routing::NetPoint::onCreation.connect([](simgrid::kernel::routing::NetPoint* pt) {
   ns3_initialize(ns3_tcp_model.get().c_str());
 
   simgrid::kernel::routing::NetPoint::onCreation.connect([](simgrid::kernel::routing::NetPoint* pt) {
index e675094..55df59e 100644 (file)
@@ -10,9 +10,7 @@
 
 #include <algorithm>
 
 
 #include <algorithm>
 
-xbt_dict_t flowFromSock = xbt_dict_new_homogeneous([](void *p) {
-  delete (SgFlow*)p;
-}); // ns3::sock -> SgFlow
+xbt_dict_t flowFromSock = nullptr; // ns3::sock -> SgFlow
 
 static void receive_callback(ns3::Ptr<ns3::Socket> socket);
 static void datasent_callback(ns3::Ptr<ns3::Socket> socket, uint32_t dataSent);
 
 static void receive_callback(ns3::Ptr<ns3::Socket> socket);
 static void datasent_callback(ns3::Ptr<ns3::Socket> socket, uint32_t dataSent);