Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
implement a constructor for surf_action_t; draft a surf_action_maxmin_t for actions...
[simgrid.git] / src / surf / network_constant.c
index 7ed8284..2b0b2ed 100644 (file)
@@ -107,8 +107,6 @@ static void update_actions_state(double now, double delta)
       surf_network_model->action_state_set((surf_action_t) action, SURF_ACTION_DONE);
     }
   }
-
-  return;
 }
 
 static void update_resource_state(void *id,
@@ -125,29 +123,18 @@ static surf_action_t communicate(const char *src_name,const char *dst_name,int s
 
   XBT_IN4("(%s,%s,%g,%g)", src_name, dst_name, size, rate);
 
-  action = xbt_new0(s_surf_action_network_Constant_t, 1);
+  action = surf_action_new(sizeof(s_surf_action_network_Constant_t),size,surf_network_model,0);
 
-  action->generic_action.refcount = 1;
-  action->generic_action.cost = size;
-  action->generic_action.remains = size;
-  action->generic_action.max_duration = NO_MAX_DURATION;
-  action->generic_action.start = surf_get_clock();
-  action->generic_action.finish = -1.0;
-  action->generic_action.model_type = surf_network_model;
   action->suspended = 0;
 
   action->latency = random_generate(random_latency);
   action->lat_init = action->latency;
 
-  if (action->latency <= 0.0)
+  if (action->latency <= 0.0) {
     action->generic_action.state_set =
       surf_network_model->states.done_action_set;
-  else
-    action->generic_action.state_set =
-      surf_network_model->states.running_action_set;
-
-  xbt_swag_insert(action, action->generic_action.state_set);
-
+    xbt_swag_insert(action, action->generic_action.state_set);
+  }
 
   XBT_OUT;