class XBT_PUBLIC Link : public simgrid::xbt::Extendable<Link> {
friend simgrid::kernel::resource::LinkImpl;
class XBT_PUBLIC Link : public simgrid::xbt::Extendable<Link> {
friend simgrid::kernel::resource::LinkImpl;
// The private implementation, that never changes
kernel::resource::LinkImpl* const pimpl_;
// The private implementation, that never changes
kernel::resource::LinkImpl* const pimpl_;
kernel::resource::LinkImpl* get_impl() { return pimpl_; }
/** @brief Retrieve a link from its name */
kernel::resource::LinkImpl* get_impl() { return pimpl_; }
/** @brief Retrieve a link from its name */
void set_latency_trace(tmgr_trace_t trace); /*< setup the trace file with latency events (peak latency changes due to
external load). Trace must contain absolute values */
void set_latency_trace(tmgr_trace_t trace); /*< setup the trace file with latency events (peak latency changes due to
external load). Trace must contain absolute values */
static simgrid::xbt::signal<void(kernel::resource::NetworkAction*, s4u::Host* src, s4u::Host* dst)> on_communicate;
/** @brief Callback signal fired when a communication changes it state (ready/done/cancel) */
static simgrid::xbt::signal<void(kernel::resource::NetworkAction*, s4u::Host* src, s4u::Host* dst)> on_communicate;
/** @brief Callback signal fired when a communication changes it state (ready/done/cancel) */
XBT_ATTRIB_DEPRECATED_v323("Please use Link::set_property()") void setProperty(std::string key, std::string value) {set_property(key, value);}
XBT_ATTRIB_DEPRECATED_v323("Please use Link::set_property()") void setProperty(std::string key, std::string value) {set_property(key, value);}