Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Define const get_sharing_policy().
[simgrid.git] / src / surf / network_ns3.hpp
index f828efd..2b907ba 100644 (file)
@@ -17,7 +17,7 @@ namespace resource {
 class NetworkNS3Model : public NetworkModel {
 public:
   NetworkNS3Model();
-  ~NetworkNS3Model();
+  ~NetworkNS3Model() override = default;
   LinkImpl* create_link(const std::string& name, const std::vector<double>& bandwidth, double latency,
                         s4u::Link::SharingPolicy policy) override;
   Action* communicate(s4u::Host* src, s4u::Host* dst, double size, double rate) override;
@@ -31,14 +31,17 @@ public:
  ************/
 class LinkNS3 : public LinkImpl {
 public:
-  explicit LinkNS3(NetworkNS3Model* model, const std::string& name, double bandwidth, double latency);
-  ~LinkNS3();
+  explicit LinkNS3(NetworkNS3Model* model, const std::string& name, double bandwidth, double latency,
+                   s4u::Link::SharingPolicy policy);
+  ~LinkNS3() override;
+  s4u::Link::SharingPolicy sharing_policy_;
 
   void apply_event(profile::Event* event, double value) override;
-  void set_bandwidth(double value) override { THROW_UNIMPLEMENTED; }
-  void set_latency(double value) override { THROW_UNIMPLEMENTED; }
+  void set_bandwidth(double) override { THROW_UNIMPLEMENTED; }
+  void set_latency(double) override { THROW_UNIMPLEMENTED; }
   void set_bandwidth_profile(profile::Profile* profile) override;
   void set_latency_profile(profile::Profile* profile) override;
+  s4u::Link::SharingPolicy get_sharing_policy() const override { return sharing_policy_; }
 };
 
 /**********
@@ -50,13 +53,11 @@ public:
 
   void suspend() override;
   void resume() override;
-  std::list<LinkImpl*> links() const override;
+  std::list<LinkImpl*> get_links() const override;
   void update_remains_lazy(double now) override;
 
   // private:
   double last_sent_ = 0;
-  s4u::Host* src_;
-  s4u::Host* dst_;
 };
 
 } // namespace resource