-/* Copyright (c) 2004-2019. The SimGrid Team. All rights reserved. */
+/* Copyright (c) 2004-2020. 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. */
-#ifndef S4U_LINK_HPP_
-#define S4U_LINK_HPP_
+#ifndef S4U_LINK_HPP
+#define S4U_LINK_HPP
#include <simgrid/forward.h>
#include <simgrid/kernel/resource/Action.hpp>
***********/
namespace simgrid {
+
+extern template class XBT_PUBLIC xbt::Extendable<s4u::Link>;
+
namespace s4u {
-/** @brief A Link represents the network facilities between [hosts](@ref simgrid::s4u::Host) */
+/**
+ * @rst
+ * A Link represents the network facilities between :cpp:class:`hosts <simgrid::s4u::Host>`.
+ * @endrst
+ */
class XBT_PUBLIC Link : public xbt::Extendable<Link> {
friend kernel::resource::LinkImpl;
/** @brief Get the bandwidth in bytes per second of current Link */
double get_bandwidth() const;
+ void set_bandwidth(double value);
/** @brief Get the latency in seconds of current Link */
double get_latency() const;
+ void set_latency(double value);
/** @brief Describes how the link is shared between flows */
SharingPolicy get_sharing_policy() const;
} // namespace s4u
} // namespace simgrid
-#endif /* SURF_NETWORK_INTERFACE_HPP_ */
+#endif /* S4U_LINK_HPP */