Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Revert "Remove XBT_INFO call"
[simgrid.git] / src / surf / network_interface.cpp
index 49e4c6d..39195ef 100644 (file)
@@ -19,8 +19,9 @@ XBT_LOG_NEW_DEFAULT_SUBCATEGORY(surf_network, surf,
 
 surf_callback(void, NetworkLinkPtr) networkLinkCreatedCallbacks;
 surf_callback(void, NetworkLinkPtr) networkLinkDestructedCallbacks;
-surf_callback(void, NetworkLinkPtr) networkLinkStateChangedCallbacks;
-surf_callback(void, NetworkActionPtr) networkActionStateChangedCallbacks;
+surf_callback(void, NetworkLinkPtr, e_surf_resource_state_t, e_surf_resource_state_t) networkLinkStateChangedCallbacks;
+surf_callback(void, NetworkActionPtr, e_surf_action_state_t, e_surf_action_state_t) networkActionStateChangedCallbacks;
+surf_callback(void, NetworkActionPtr, RoutingEdgePtr src, RoutingEdgePtr dst, double size, double rate) networkCommunicateCallbacks;
 
 /*********
  * Model *
@@ -89,8 +90,9 @@ bool NetworkLink::isShared()
 }
 
 void NetworkLink::setState(e_surf_resource_state_t state){
+  e_surf_resource_state_t old = Resource::getState();
   Resource::setState(state);
-  surf_callback_emit(networkLinkStateChangedCallbacks, this);
+  surf_callback_emit(networkLinkStateChangedCallbacks, this, old, state);
 }
 
 /**********
@@ -98,8 +100,9 @@ void NetworkLink::setState(e_surf_resource_state_t state){
  **********/
 
 void NetworkAction::setState(e_surf_action_state_t state){
+  e_surf_action_state_t old = getState();
   Action::setState(state);
-  surf_callback_emit(networkActionStateChangedCallbacks, this);
+  surf_callback_emit(networkActionStateChangedCallbacks, this, old, state);
 }
 
 #endif /* NETWORK_INTERFACE_CPP_ */