- LinkImpl* loopback_ = nullptr;
-};
-
-/************
- * Resource *
- ************/
-/** @ingroup SURF_network_interface
- * @brief SURF network link interface class
- * @details A Link represents the link between two [hosts](@ref simgrid::surf::HostImpl)
- */
-class LinkImpl : public Resource, public xbt::PropertyHolder {
- bool currently_destroying_ = false;
- s4u::Link piface_;
-
-protected:
- LinkImpl(NetworkModel* model, const std::string& name, lmm::Constraint* constraint);
- LinkImpl(const LinkImpl&) = delete;
- LinkImpl& operator=(const LinkImpl&) = delete;
- ~LinkImpl() override;
-
-public:
- void destroy(); // Must be called instead of the destructor
-
- /** @brief Public interface */
- s4u::Link* get_iface() { return &piface_; }
-
- /** @brief Get the bandwidth in bytes per second of current Link */
- virtual double get_bandwidth();
-
- /** @brief Update the bandwidth in bytes per second of current Link */
- virtual void set_bandwidth(double value) = 0;
-
- /** @brief Get the latency in seconds of current Link */
- virtual double get_latency();
+ void set_lat_factor_cb(const std::function<NetworkFactorCb>& cb) override { THROW_UNIMPLEMENTED; }
+ void set_bw_factor_cb(const std::function<NetworkFactorCb>& cb) override { THROW_UNIMPLEMENTED; }