#include "src/surf/PropertyHolder.hpp"
#include "simgrid/link.h"
-#include "simgrid/s4u/link.hpp"
+#include "simgrid/s4u/Link.hpp"
/***********
* Classes *
class NetworkAction;
- /** @brief Callback signal fired when the state of a NetworkAction changes
- * 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;
-
/*********
* Model *
*********/
* @details A Link represents the link between two [hosts](\ref simgrid::surf::HostImpl)
*/
class LinkImpl : public simgrid::surf::Resource, public simgrid::surf::PropertyHolder {
- public:
- /** @brief Constructor of LMM links */
- LinkImpl(simgrid::surf::NetworkModel* model, const char* name, lmm_constraint_t constraint);
-
- /* Link destruction logic */
- /**************************/
protected:
+ LinkImpl(simgrid::surf::NetworkModel* model, const char* name, lmm_constraint_t constraint);
~LinkImpl() override;
public:
void destroy(); // Must be called instead of the destructor
public:
/** @brief Public interface */
s4u::Link piface_;
- /** @brief Callback signal fired when a new Link is created */
- static simgrid::xbt::signal<void(surf::LinkImpl*)> onCreation;
-
- /** @brief Callback signal fired when a Link is destroyed */
- static simgrid::xbt::signal<void(surf::LinkImpl*)> onDestruction;
-
- /** @brief Callback signal fired when the state of a Link changes (when it is turned on or off) */
- static simgrid::xbt::signal<void(surf::LinkImpl*)> onStateChange;
-
- /** @brief Callback signal fired when a communication starts */
- static simgrid::xbt::signal<void(surf::NetworkAction*, s4u::Host* src, s4u::Host* dst)> onCommunicate;
/** @brief Get the bandwidth in bytes per second of current Link */
virtual double bandwidth();