Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Inventive hack to get flex raising exceptions on parse error
[simgrid.git] / src / surf / network_interface.hpp
index 79103fd..d5ecd17 100644 (file)
@@ -48,7 +48,7 @@ public:
    * @param latency The initial latency of the Link in seconds
    * @param policy The sharing policy of the Link
    */
-  virtual LinkImpl* create_link(const std::string& name, double bandwidth, double latency,
+  virtual LinkImpl* create_link(const std::string& name, const std::vector<double>& bandwidths, double latency,
                                 s4u::Link::SharingPolicy policy) = 0;
 
   /**
@@ -95,7 +95,7 @@ public:
    * @return The new bandwidth.
    */
   virtual double get_bandwidth_constraint(double rate, double bound, double size);
-  double next_occuring_event_full(double now) override;
+  double next_occurring_event_full(double now) override;
 
   LinkImpl* loopback_ = nullptr;
 };
@@ -109,7 +109,7 @@ public:
  */
 class LinkImpl : public Resource, public surf::PropertyHolder {
   bool currently_destroying_ = false;
-  void* userdata_            = nullptr;
+  s4u::Link piface_;
 
 protected:
   LinkImpl(NetworkModel* model, const std::string& name, lmm::Constraint* constraint);
@@ -119,11 +119,9 @@ protected:
 
 public:
   void destroy(); // Must be called instead of the destructor
-  void* get_data() { return userdata_; }
-  void set_data(void* d) { userdata_ = d; }
 
   /** @brief Public interface */
-  s4u::Link piface_;
+  s4u::Link* get_iface() { return &piface_; }
 
   /** @brief Get the bandwidth in bytes per second of current Link */
   virtual double get_bandwidth();
@@ -157,7 +155,7 @@ public:
                                                  latency changes due to external load).   Trace must contain
                                                  absolute values */
 
-  Metric latency_                   = {1.0, 0, nullptr};
+  Metric latency_                   = {0.0, 0, nullptr};
   Metric bandwidth_                 = {1.0, 0, nullptr};
 
 };