/** @brief Callback signal fired when the state of a NetworkAction changes
- * Signature: `void(NetworkAction *action, e_surf_action_state_t old, e_surf_action_state_t current)` */
- XBT_PUBLIC_DATA(simgrid::xbt::signal<void(simgrid::surf::NetworkAction*, e_surf_action_state_t, e_surf_action_state_t)>) networkActionStateChangedCallbacks;
+ * Signature: `void(NetworkAction *action, simgrid::surf::Action::State old, simgrid::surf::Action::State current)` */
+ XBT_PUBLIC_DATA(simgrid::xbt::signal<void(simgrid::surf::NetworkAction*, simgrid::surf::Action::State, simgrid::surf::Action::State)>) networkActionStateChangedCallbacks;
- /** @brief Callback signal fired when a NetworkAction is created (when a communication starts)
- * Signature: `void(NetworkAction *action, RoutingEdge *src, RoutingEdge *dst, double size, double rate)` */
- XBT_PUBLIC_DATA(simgrid::xbt::signal<void(simgrid::surf::NetworkAction*, simgrid::surf::NetCard *src, simgrid::surf::NetCard *dst, double size, double rate)>) networkCommunicateCallbacks;
-
- }
+ }
}
/*********
/** @brief Destructor */
~NetworkModel() {
- if (maxminSystem_)
- lmm_system_free(maxminSystem_);
- if (actionHeap_)
- xbt_heap_free(actionHeap_);
+ lmm_system_free(maxminSystem_);
+ xbt_heap_free(actionHeap_);
delete modifiedSet_;
}
* unlimited.
* @return The action representing the communication
*/
- virtual Action *communicate(NetCard *src, NetCard *dst,
- double size, double rate)=0;
+ virtual Action *communicate(NetCard *src, NetCard *dst, double size, double rate)=0;
/** @brief Function pointer to the function to use to solve the lmm_system_t
*
* Signature: `void(Link*)` */
static simgrid::xbt::signal<void(simgrid::surf::Link*)> onStateChange;
+ /** @brief Callback signal fired when a communication starts
+ * Signature: `void(NetworkAction *action, RoutingEdge *src, RoutingEdge *dst)` */
+ static simgrid::xbt::signal<void(simgrid::surf::NetworkAction*, simgrid::surf::NetCard *src, simgrid::surf::NetCard *dst)> onCommunicate;
+
+
/** @brief Get the bandwidth in bytes per second of current Link */
virtual double getBandwidth();
NetworkAction(simgrid::surf::Model *model, double cost, bool failed, lmm_variable_t var)
: simgrid::surf::Action(model, cost, failed, var) {};
- void setState(e_surf_action_state_t state);
+ void setState(simgrid::surf::Action::State state) override;
- double m_latency;
- double m_latCurrent;
- double m_weight;
- double m_rate;
- const char* p_senderLinkName;
- double m_senderSize;
- xbt_fifo_item_t p_senderFifoItem;
+ double latency_;
+ double latCurrent_;
+ double weight_;
+ double rate_;
+ const char* senderLinkName_;
+ double senderSize_;
+ xbt_fifo_item_t senderFifoItem_;
};
}
}