Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
redefine sg_storage_t
authorFrederic Suter <frederic.suter@cc.in2p3.fr>
Thu, 8 Jun 2017 16:49:43 +0000 (18:49 +0200)
committerFrederic Suter <frederic.suter@cc.in2p3.fr>
Thu, 8 Jun 2017 16:49:43 +0000 (18:49 +0200)
include/simgrid/forward.h
src/simix/smx_global.cpp

index 82b6c58..edfca2e 100644 (file)
@@ -43,6 +43,7 @@ namespace trace_mgr {
 typedef simgrid::s4u::Actor s4u_Actor;
 typedef simgrid::s4u::Host s4u_Host;
 typedef simgrid::s4u::Link s4u_Link;
+typedef simgrid::s4u::Storage s4u_Storage;
 typedef simgrid::s4u::NetZone s4u_NetZone;
 typedef simgrid::kernel::activity::ActivityImpl* smx_activity_t;
 typedef simgrid::kernel::routing::NetPoint routing_NetPoint;
@@ -54,6 +55,7 @@ typedef simgrid::trace_mgr::trace tmgr_Trace;
 typedef struct s4u_Actor s4u_Actor;
 typedef struct s4u_Host s4u_Host;
 typedef struct s4u_Link s4u_Link;
+typedef struct s4u_Storage s4u_Storage;
 typedef struct s4u_NetZone s4u_NetZone;
 typedef struct kernel_Activity* smx_activity_t;
 typedef struct routing_NetPoint routing_NetPoint;
@@ -65,14 +67,11 @@ typedef struct Trace tmgr_Trace;
 typedef s4u_NetZone* sg_netzone_t;
 typedef s4u_Host* sg_host_t;
 typedef s4u_Link* sg_link_t;
-
+typedef s4u_Storage* sg_storage_t;
 
 typedef routing_NetPoint* sg_netpoint_t;
 typedef surf_Resource *sg_resource_t;
 
-// Types which are in fact dictelmt:
-typedef struct s_xbt_dictelm *sg_storage_t;
-
 typedef tmgr_Trace *tmgr_trace_t; /**< Opaque structure defining an availability trace */
 
 typedef struct s_smx_simcall s_smx_simcall_t;
index a3c309a..6f02d13 100644 (file)
@@ -235,12 +235,11 @@ void SIMIX_global_init(int *argc, char **argv)
     });
 
     simgrid::surf::storageCreatedCallbacks.connect([](simgrid::surf::StorageImpl* storage) {
-      const char* name = storage->cname();
-      // TODO, create sg_storage_by_name
-      sg_storage_t s = xbt_lib_get_elm_or_null(storage_lib, name);
-      xbt_assert(s != nullptr, "Storage not found for name %s", name);
+      sg_storage_t s = simgrid::s4u::Storage::byName(storage->cname());
+      xbt_assert(s != nullptr, "Storage not found for name %s", storage->cname());
     });
   }
+
   if (not simix_timers)
     simix_timers = xbt_heap_new(8, [](void* p) {
       delete static_cast<smx_timer_t>(p);