Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Factorize code.
[simgrid.git] / src / kernel / routing / DragonflyZone.hpp
index 2cc15a5..6feea64 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2014-2016. The SimGrid Team. All rights reserved.          */
+/* Copyright (c) 2014-2017. 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. */
@@ -17,10 +17,10 @@ public:
   unsigned int group_;
   unsigned int chassis_;
   unsigned int blade_;
-  surf::Link** blueLinks_  = nullptr;
-  surf::Link** blackLinks_ = nullptr;
-  surf::Link** greenLinks_ = nullptr;
-  surf::Link** myNodes_    = nullptr;
+  surf::LinkImpl** blueLinks_  = nullptr;
+  surf::LinkImpl** blackLinks_ = nullptr;
+  surf::LinkImpl** greenLinks_ = nullptr;
+  surf::LinkImpl** myNodes_    = nullptr;
   DragonflyRouter(int i, int j, int k);
   ~DragonflyRouter();
 };
@@ -60,19 +60,19 @@ public:
  */
 class XBT_PRIVATE DragonflyZone : public ClusterZone {
 public:
-  explicit DragonflyZone(NetZone* father, const char* name);
+  explicit DragonflyZone(NetZone* father, std::string name);
   ~DragonflyZone() 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;
+  void getLocalRoute(NetPoint* src, NetPoint* dst, sg_platf_route_cbarg_t into, double* latency) override;
+  void parse_specific_arguments(ClusterCreationArgs* cluster) override;
   void seal() override;
   void generateRouters();
   void generateLinks();
-  void createLink(char* id, int numlinks, Link** linkup, Link** linkdown);
-  unsigned int* rankId_to_coords(int rankId);
+  void createLink(const std::string& id, int numlinks, surf::LinkImpl** linkup, surf::LinkImpl** linkdown);
 
 private:
-  sg_platf_cluster_cbarg_t cluster_;
+  void rankId_to_coords(int rankId, unsigned int (*coords)[4]);
+  ClusterCreationArgs* cluster_;
   unsigned int numNodesPerBlade_    = 0;
   unsigned int numBladesPerChassis_ = 0;
   unsigned int numChassisPerGroup_  = 0;