Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
[NS3] fixing the remains value when updating actions state
[simgrid.git] / src / surf / network_ns3.c
index 8777c00..e838247 100644 (file)
@@ -437,12 +437,13 @@ static void ns3_update_actions_state(double now, double delta)
                return;
 
          xbt_dict_foreach(dict_socket,cursor,key,data){
-               action = (surf_action_t)ns3_get_socket_action(data);
-               action->remains = ns3_get_socket_remains(data);
-               if(ns3_get_socket_is_finished(data) == 1){
-                       action->finish = now;
-                       surf_action_state_set(action, SURF_ACTION_DONE);
-               }
+           action = (surf_action_t)ns3_get_socket_action(data);
+           action->remains = action->cost - ns3_get_socket_sent(data);
+
+           if(ns3_get_socket_is_finished(data) == 1){
+             action->finish = now;
+             surf_action_state_set(action, SURF_ACTION_DONE);
+           }
          }
          return;
 }