Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Update copyright lines.
[simgrid.git] / include / simgrid / kernel / routing / DragonflyZone.hpp
index adde19c..dc15b66 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2014-2020. The SimGrid Team. All rights reserved.          */
+/* Copyright (c) 2014-2021. The SimGrid Team. All rights reserved.          */
 
 /* This program is free software; you can redistribute it and/or modify it
  * under the terms of the license (GNU LGPL) which comes with this package. */
@@ -60,19 +60,29 @@ public:
  */
 class XBT_PUBLIC DragonflyZone : public ClusterZone {
 public:
+  struct Coords {
+    unsigned group;
+    unsigned chassis;
+    unsigned blade;
+    unsigned node;
+  };
+
   explicit DragonflyZone(NetZoneImpl* father, const std::string& name, resource::NetworkModel* netmodel);
   void get_local_route(NetPoint* src, NetPoint* dst, RouteCreationArgs* into, double* latency) override;
   void parse_specific_arguments(ClusterCreationArgs* cluster) override;
   void seal() override;
 
-  void rankId_to_coords(int rank_id, unsigned int coords[4]);
+  Coords rankId_to_coords(int rank_id) const;
+  XBT_ATTRIB_DEPRECATED_v330("Please use rankId_to_coords(int)") void rankId_to_coords(int rank_id,
+                                                                                       unsigned int coords[4]) const;
 
 private:
   void generate_routers();
   void generate_links();
-  void create_link(const std::string& id, int numlinks, resource::LinkImpl** linkup, resource::LinkImpl** linkdown);
+  void generate_link(const std::string& id, int numlinks, resource::LinkImpl** linkup,
+                     resource::LinkImpl** linkdown) const;
 
-  simgrid::s4u::Link::SharingPolicy sharing_policy_;
+  simgrid::s4u::Link::SharingPolicy sharing_policy_ = simgrid::s4u::Link::SharingPolicy::SHARED;
   double bw_  = 0;
   double lat_ = 0;