Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
move some storage-related content out of routing into storage area
authorMartin Quinson <martin.quinson@loria.fr>
Mon, 12 Dec 2016 21:13:27 +0000 (22:13 +0100)
committerMartin Quinson <martin.quinson@loria.fr>
Mon, 12 Dec 2016 21:23:31 +0000 (22:23 +0100)
include/simgrid/link.h
src/bindings/lua/lua_platf.cpp
src/instr/instr_interface.cpp
src/kernel/routing/NetCard.hpp
src/surf/storage_n11.cpp
src/surf/surf_private.h
src/surf/surf_routing.cpp
src/surf/xml/platf_private.hpp
src/surf/xml/surfxml_parseplatf.cpp
src/surf/xml/surfxml_sax_cb.cpp

index 4865236..a2c64bd 100644 (file)
@@ -9,7 +9,8 @@
 #ifndef INCLUDE_SIMGRID_LINK_H_
 #define INCLUDE_SIMGRID_LINK_H_
 
-#include <simgrid/forward.h>
+#include "simgrid/forward.h"
+#include "xbt/base.h"
 
 /* C interface */
 SG_BEGIN_DECL()
index ca263d2..8f79fd9 100644 (file)
@@ -7,11 +7,12 @@
 /* SimGrid Lua bindings                                                     */
 
 #include "lua_private.h"
-#include "src/surf/xml/platf_private.hpp"
+#include "src/kernel/routing/NetCard.hpp"
 #include "src/surf/network_interface.hpp"
+#include "src/surf/xml/platf_private.hpp"
 #include "surf/surf_routing.h"
-#include <string.h>
 #include <ctype.h>
+#include <string.h>
 
 extern "C" {
 #include <lauxlib.h>
@@ -49,7 +50,6 @@ int console_open(lua_State *L) {
   sg_platf_begin();
 
   storage_register_callbacks();
-  routing_register_callbacks();
 
   return 0;
 }
index 7094cdd..46d4f8a 100644 (file)
@@ -5,10 +5,11 @@
  * under the terms of the license (GNU LGPL) which comes with this package. */
 
 #include "simgrid_config.h"
-#include "src/surf/network_interface.hpp"
 #include "src/instr/instr_private.h"
-#include "surf/surf.h"
+#include "src/kernel/routing/NetCard.hpp"
+#include "src/surf/network_interface.hpp"
 #include "src/surf/surf_private.h"
+#include "surf/surf.h"
 
 typedef enum {
   INSTR_US_DECLARE,
index 40454d4..c42b6c9 100644 (file)
@@ -61,4 +61,6 @@ private:
 }
 }
 
+XBT_PUBLIC(sg_netcard_t) sg_netcard_by_name_or_null(const char* name);
+
 #endif /* KERNEL_ROUTING_NETCARD_HPP_ */
index a986fe4..79c7bc5 100644 (file)
@@ -5,6 +5,7 @@
  * under the terms of the license (GNU LGPL) which comes with this package. */
 
 #include "storage_n11.hpp"
+#include "src/kernel/routing/NetCard.hpp"
 #include "surf_private.h"
 #include <math.h> /*ceil*/
 XBT_LOG_EXTERNAL_DEFAULT_CATEGORY(surf_storage);
@@ -39,8 +40,28 @@ static inline void routing_storage_host_free(void *r)
   xbt_dynar_free(&dyn);
 }
 
+static void check_disk_attachment()
+{
+  xbt_lib_cursor_t cursor;
+  char* key;
+  void** data;
+  xbt_lib_foreach(storage_lib, cursor, key, data)
+  {
+    if (xbt_lib_get_level(xbt_lib_get_elm_or_null(storage_lib, key), SURF_STORAGE_LEVEL) != nullptr) {
+      simgrid::surf::Storage* storage =
+          static_cast<simgrid::surf::Storage*>(xbt_lib_get_or_null(storage_lib, key, SURF_STORAGE_LEVEL));
+      simgrid::kernel::routing::NetCard* host_elm = sg_netcard_by_name_or_null(storage->attach_);
+      if (!host_elm)
+        surf_parse_error("Unable to attach storage %s: host %s doesn't exist.", storage->getName(), storage->attach_);
+    }
+  }
+}
+
 void storage_register_callbacks()
 {
+  simgrid::surf::on_postparse.connect(check_disk_attachment);
+  instr_routing_define_callbacks();
+
   ROUTING_STORAGE_LEVEL = xbt_lib_add_level(storage_lib, xbt_free_f);
   ROUTING_STORAGE_HOST_LEVEL = xbt_lib_add_level(storage_lib, routing_storage_host_free);
   ROUTING_STORAGE_TYPE_LEVEL = xbt_lib_add_level(storage_type_lib, routing_storage_type_free);
index 1f3290c..b68c575 100644 (file)
@@ -51,8 +51,6 @@ extern XBT_PRIVATE simgrid::trace_mgr::future_evt_set *future_evt_set;
 
 XBT_PUBLIC(void) storage_register_callbacks();
 
-XBT_PUBLIC(void) routing_register_callbacks(void);
-
 XBT_PUBLIC(void) generic_get_graph(xbt_graph_t graph, xbt_dict_t nodes, xbt_dict_t edges, AS_t rc);
 XBT_PRIVATE void parse_after_config();
 
index 7904fff..c316fa2 100644 (file)
@@ -46,30 +46,3 @@ void sg_platf_new_trace(sg_platf_trace_cbarg_t trace)
   }
   xbt_dict_set(traces_set_list, trace->id, (void *) tmgr_trace, nullptr);
 }
-
-/* ************************************************************************** */
-/* ************************* GENERIC PARSE FUNCTIONS ************************ */
-
-static void check_disk_attachment()
-{
-  xbt_lib_cursor_t cursor;
-  char *key;
-  void **data;
-  xbt_lib_foreach(storage_lib, cursor, key, data) {
-    if (xbt_lib_get_level(xbt_lib_get_elm_or_null(storage_lib, key), SURF_STORAGE_LEVEL) != nullptr) {
-      simgrid::surf::Storage* storage =
-          static_cast<simgrid::surf::Storage*>(xbt_lib_get_or_null(storage_lib, key, SURF_STORAGE_LEVEL));
-      simgrid::kernel::routing::NetCard* host_elm = sg_netcard_by_name_or_null(storage->attach_);
-      if (!host_elm)
-        surf_parse_error("Unable to attach storage %s: host %s doesn't exist.", storage->getName(), storage->attach_);
-    }
-  }
-}
-
-void routing_register_callbacks()
-{
-  simgrid::surf::on_postparse.connect(check_disk_attachment);
-
-  instr_routing_define_callbacks();
-}
-
index 12d82e9..6a36915 100644 (file)
@@ -21,8 +21,6 @@ SG_BEGIN_DECL()
 typedef size_t yy_size_t;
 #endif
 
-XBT_PUBLIC(sg_netcard_t) sg_netcard_by_name_or_null(const char *name);
-
 typedef enum {
   SURF_CLUSTER_DRAGONFLY=3,
   SURF_CLUSTER_FAT_TREE=2,
index 6efb5f8..2194009 100644 (file)
@@ -119,7 +119,6 @@ void parse_after_config() {
 
     /* Register classical callbacks */
     storage_register_callbacks();
-    routing_register_callbacks();
 
     after_config_done = 1;
   }
index eb2f63c..d36c014 100644 (file)
@@ -8,15 +8,16 @@
 #include <math.h>
 #include <stdarg.h> /* va_arg */
 
-#include "xbt/misc.h"
+#include "simgrid/link.h"
+#include "simgrid/sg_config.h"
+#include "src/kernel/routing/NetCard.hpp"
+#include "src/surf/network_interface.hpp"
+#include "src/surf/surf_private.h"
+#include "xbt/dict.h"
+#include "xbt/file.h"
 #include "xbt/log.h"
+#include "xbt/misc.h"
 #include "xbt/str.h"
-#include "xbt/file.h"
-#include "xbt/dict.h"
-#include "src/surf/surf_private.h"
-#include "src/surf/network_interface.hpp"
-#include "simgrid/sg_config.h"
-#include "simgrid/link.h"
 
 #include "src/surf/xml/platf_private.hpp"