Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
trimming zones
[simgrid.git] / include / simgrid / kernel / routing / FatTreeZone.hpp
index 6b3d881..5412efd 100644 (file)
@@ -97,29 +97,12 @@ public:
  * Routing is made using a destination-mod-k scheme.
  */
 class XBT_PRIVATE FatTreeZone : public ClusterZone {
-public:
-  explicit FatTreeZone(const std::string& name);
-  FatTreeZone(const FatTreeZone&) = delete;
-  FatTreeZone& operator=(const FatTreeZone&) = delete;
-  ~FatTreeZone() override;
-  void get_local_route(NetPoint* src, NetPoint* dst, RouteCreationArgs* into, double* latency) override;
-
-  /** @brief Read the parameters in topo_parameters field.
-   *
-   * It will also store the cluster for future use.
-   */
-  void parse_specific_arguments(ClusterCreationArgs* cluster) override;
-  void add_processing_node(int id);
-  void generate_dot_file(const std::string& filename = "fat_tree.dot") const;
-
-private:
   /** @brief Generate the fat tree
    *
    * Once all processing nodes have been added, this will make sure the fat
    * tree is generated by calling generateLabels(), generateSwitches() and
    * then connection all nodes between them, using their label.
    */
-  void do_seal() override;
   // description of a PGFT (TODO : better doc)
   unsigned long levels_ = 0;
   std::vector<unsigned int> num_children_per_node_; // number of children by node
@@ -140,6 +123,23 @@ private:
   int connect_node_to_parents(FatTreeNode* node);
   bool are_related(FatTreeNode* parent, FatTreeNode* child) const;
   bool is_in_sub_tree(FatTreeNode* root, FatTreeNode* node) const;
+
+  void do_seal() override;
+
+public:
+  explicit FatTreeZone(const std::string& name) : ClusterZone(name) {}
+  FatTreeZone(const FatTreeZone&) = delete;
+  FatTreeZone& operator=(const FatTreeZone&) = delete;
+  ~FatTreeZone() override;
+  void get_local_route(NetPoint* src, NetPoint* dst, RouteCreationArgs* into, double* latency) override;
+
+  /** @brief Read the parameters in topo_parameters field.
+   *
+   * It will also store the cluster for future use.
+   */
+  void parse_specific_arguments(ClusterCreationArgs* cluster) override;
+  void add_processing_node(int id);
+  void generate_dot_file(const std::string& filename = "fat_tree.dot") const;
 };
 } // namespace routing
 } // namespace kernel