Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Fix a few warnings when building doc (mostly related to doxygen).
[simgrid.git] / include / simgrid / s4u / Link.hpp
index 8ee0cf9..b000853 100644 (file)
@@ -30,7 +30,9 @@ namespace s4u {
  * @endrst
  */
 class XBT_PUBLIC Link : public xbt::Extendable<Link> {
+#ifndef DOXYGEN
   friend kernel::resource::LinkImpl;
+#endif
 
   // Links are created from the NetZone, and destroyed by their private implementation when the simulation ends
   explicit Link(kernel::resource::LinkImpl* pimpl) : pimpl_(pimpl) {}
@@ -72,6 +74,7 @@ public:
   Link* set_latency(const std::string& value);
 
   /** @brief Describes how the link is shared between flows */
+  Link* set_sharing_policy(SharingPolicy policy);
   SharingPolicy get_sharing_policy() const;
 
   /** Setup the profile with states events (ON or OFF). The profile must contain boolean values. */
@@ -88,6 +91,16 @@ public:
   Link* set_properties(const std::unordered_map<std::string, std::string>& properties);
   Link* set_property(const std::string& key, const std::string& value);
 
+  /**
+   * @brief Set the number of communications that can shared this link at the same time
+   *
+   * Use this method to serialize communication flows going through this link.
+   * Use -1 to set no limit.
+   *
+   * @param limit  Number of concurrent flows
+   */
+  Link* set_concurrency_limit(int limit);
+
   /** @brief Set the level of communication speed of the given host on this wifi link.
    *
    * The bandwidth of a wifi link for a given host depends on its SNR (signal to noise ratio),
@@ -114,7 +127,7 @@ public:
   void turn_off();
   bool is_on() const;
 
-  void seal();
+  Link* seal();
 
   /* The signals */
   /** @brief Callback signal fired when a new Link is created */