+ /** Setup the profile with states events (ON or OFF). The profile must contain boolean values. */
+ Link* set_state_profile(kernel::profile::Profile* profile);
+ /** Setup the profile with bandwidth events (peak speed changes due to external load).
+ * The profile must contain percentages (value between 0 and 1). */
+ Link* set_bandwidth_profile(kernel::profile::Profile* profile);
+ /** Setup the profile file with latency events (peak latency changes due to external load).
+ * The profile must contain absolute values */
+ Link* set_latency_profile(kernel::profile::Profile* profile);
+
+ const std::unordered_map<std::string, std::string>* get_properties() const;
+ const char* get_property(const std::string& key) const;
+ 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);
+