Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Direct context switching: clean the semantics of parmap
[simgrid.git] / src / surf / network_constant.c
index 61e1c4e..7b811c4 100644 (file)
@@ -41,7 +41,7 @@ static int netcste_action_unref(surf_action_t action)
   action->refcount--;
   if (!action->refcount) {
     xbt_swag_remove(action, action->state_set);
-    free(action);
+    surf_action_free(&action);
     return 1;
   }
   return 0;
@@ -117,7 +117,7 @@ static surf_action_t netcste_communicate(const char *src_name,
 {
   surf_action_network_Constant_t action = NULL;
 
-  XBT_IN4("(%s,%s,%g,%g)", src_name, dst_name, size, rate);
+  XBT_IN("(%s,%s,%g,%g)", src_name, dst_name, size, rate);
 
   action =
       surf_action_new(sizeof(s_surf_action_network_Constant_t), size,
@@ -125,7 +125,7 @@ static surf_action_t netcste_communicate(const char *src_name,
 
   action->suspended = 0;
 
-  action->latency = 1;          //random_generate(random_latency);
+  action->latency = sg_latency_factor;          //random_generate(random_latency);
   action->lat_init = action->latency;
 
   if (action->latency <= 0.0) {
@@ -134,11 +134,18 @@ static surf_action_t netcste_communicate(const char *src_name,
     xbt_swag_insert(action, action->generic_action.state_set);
   }
 
-  XBT_OUT;
+  XBT_OUT();
 
   return (surf_action_t) action;
 }
 
+#ifdef HAVE_TRACING
+static void netcste_action_set_category(surf_action_t action, const char *category)
+{
+  //ignore completely the categories in constant model, they are not traced
+}
+#endif
+
 /* returns an array of link_Constant_t */
 static xbt_dynar_t netcste_get_route(void *src, void *dst)
 {
@@ -191,7 +198,6 @@ void surf_network_model_init_Constant(const char *filename)
     return;
   surf_network_model = surf_model_init();
 
-  INFO0("Blah");
   surf_network_model->name = "constant time network";
   surf_network_model->action_unref = netcste_action_unref;
   surf_network_model->action_cancel = netcste_action_cancel;
@@ -221,6 +227,9 @@ void surf_network_model_init_Constant(const char *filename)
   surf_network_model->extension.network.get_link_latency =
       netcste_get_link_latency;
   surf_network_model->extension.network.link_shared = link_shared;
+#ifdef HAVE_TRACING
+  surf_network_model->set_category = netcste_action_set_category;
+#endif
 
   if (!random_latency)
     random_latency = random_new(RAND, 100, 0.0, 1.0, .125, .034);
@@ -231,5 +240,5 @@ void surf_network_model_init_Constant(const char *filename)
                            "Constant", surf_network_model);
 
   xbt_cfg_set_string(_surf_cfg_set, "routing", "none");
-  routing_model_create(sizeof(double), NULL);
+  routing_model_create(sizeof(double), NULL, netcste_get_link_latency);
 }