-/* Copyright (c) 2004-2021. The SimGrid Team. All rights reserved. */
+/* Copyright (c) 2004-2023. The SimGrid Team. All rights reserved. */
/* This program is free software; you can redistribute it and/or modify it
* under the terms of the license (GNU LGPL) which comes with this package. */
* current function to specify that a given host uses another level of bandwidth. This can be used to take the
* location of hosts into account, or even to model mobility in your SimGrid simulation.
*
- * Note that this function asserts that the link is actually a wifi link */
+ * Note that this function asserts that the link is actually a wifi link
+ *
+ * warning: in the case where a 0Mbps data rate should be used, set that rate only once during the
+ * experiment, and don't modify the bandwidth of that host later */
void set_host_wifi_rate(const s4u::Host* host, int level) const;
/** @brief Returns the current load (in bytes per second) */
/** @brief Check if the Link is shared (not a FATPIPE) */
bool is_shared() const;
+ /** Turns the link on. */
void turn_on();
+ /** Turns the link off. */
void turn_off();
+ /** Checks whether the link is on. */
bool is_on() const;
Link* seal();
on_communication_state_change.connect(cb);
}
/** @brief Add a callback fired when a Link is destroyed */
- static void on_destruction_cb(std::function<void(Link const&)> cb) { on_destruction.connect(cb); }
+ static void on_destruction_cb(const std::function<void(Link const&)>& cb) { on_destruction.connect(cb); }
};
/**