class StandardLinkImpl : public LinkImpl {
s4u::Link piface_;
s4u::Link::SharingPolicy sharing_policy_ = s4u::Link::SharingPolicy::SHARED;
+ routing::NetZoneImpl* englobing_zone_ = nullptr;
protected:
explicit StandardLinkImpl(const std::string& name);
public:
void destroy(); // Must be called instead of the destructor
+ class Deleter {
+ public:
+ void operator()(StandardLinkImpl* link) const;
+ };
void latency_check(double latency) const;
/** @brief Get the latency in seconds of current Link */
double get_latency() const override { return latency_.peak * latency_.scale; }
+ routing::NetZoneImpl* get_englobing_zone() const { return englobing_zone_; }
+ /** @brief Set the NetZone in which this Link is included */
+ StandardLinkImpl* set_englobing_zone(routing::NetZoneImpl* netzone_p);
+
/** @brief The sharing policy */
void set_sharing_policy(s4u::Link::SharingPolicy policy, const s4u::NonLinearResourceCb& cb) override;
s4u::Link::SharingPolicy get_sharing_policy() const override { return sharing_policy_; }