Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Merge branch 'master' into actor-yield
[simgrid.git] / src / kernel / routing / TorusZone.hpp
index d53af2e..0cdad3d 100644 (file)
@@ -7,21 +7,28 @@
 #define SURF_ROUTING_CLUSTER_TORUS_HPP_
 
 #include "src/kernel/routing/ClusterZone.hpp"
+#include <vector>
 
 namespace simgrid {
 namespace kernel {
 namespace routing {
 
-    class XBT_PRIVATE AsClusterTorus : public AsCluster {
-    public:
-      explicit AsClusterTorus(As* father, const char* name);
-      ~AsClusterTorus() override;
-      void create_links_for_node(sg_platf_cluster_cbarg_t cluster, int id, int rank, int position) override;
-      void getLocalRoute(NetCard* src, NetCard* dst, sg_platf_route_cbarg_t into, double* latency) override;
-      void parse_specific_arguments(sg_platf_cluster_cbarg_t cluster) override;
-    private:
-      xbt_dynar_t dimensions_ = nullptr;
-    };
+/** @ingroup ROUTING_API
+ * @brief NetZone using a Torus topology
+ *
+ */
 
-}}}
+class XBT_PRIVATE TorusZone : public ClusterZone {
+public:
+  explicit TorusZone(NetZone* father, std::string name);
+  void create_links_for_node(ClusterCreationArgs* cluster, int id, int rank, unsigned int position) override;
+  void getLocalRoute(NetPoint* src, NetPoint* dst, sg_platf_route_cbarg_t into, double* latency) override;
+  void parse_specific_arguments(ClusterCreationArgs* cluster) override;
+
+private:
+  std::vector<unsigned int> dimensions_;
+};
+}
+}
+}
 #endif