X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/cc4eceb15c80a597e44222b8c0ff60caf85db959..7b4d2c4a1c1c667a0a5676dff5dffe6cb6b8aced:/include/simgrid/kernel/routing/DragonflyZone.hpp diff --git a/include/simgrid/kernel/routing/DragonflyZone.hpp b/include/simgrid/kernel/routing/DragonflyZone.hpp index f1c16f48c8..9144e16a61 100644 --- a/include/simgrid/kernel/routing/DragonflyZone.hpp +++ b/include/simgrid/kernel/routing/DragonflyZone.hpp @@ -18,14 +18,11 @@ public: unsigned int group_; unsigned int chassis_; unsigned int blade_; - resource::LinkImpl** blue_links_ = nullptr; - resource::LinkImpl** black_links_ = nullptr; - resource::LinkImpl** green_links_ = nullptr; - resource::LinkImpl** my_nodes_ = nullptr; - DragonflyRouter(int i, int j, int k); - DragonflyRouter(const DragonflyRouter&) = delete; - DragonflyRouter& operator=(const DragonflyRouter&) = delete; - ~DragonflyRouter(); + resource::LinkImpl* blue_link_ = nullptr; + std::vector black_links_; + std::vector green_links_; + std::vector my_nodes_; + DragonflyRouter(unsigned group, unsigned chassis, unsigned blade) : group_(group), chassis_(chassis), blade_(blade) {} }; /** @ingroup ROUTING_API @@ -63,10 +60,7 @@ public: */ class XBT_PUBLIC DragonflyZone : public ClusterZone { public: - explicit DragonflyZone(NetZoneImpl* father, std::string name, resource::NetworkModel* netmodel); - DragonflyZone(const DragonflyZone&) = delete; - DragonflyZone& operator=(const DragonflyZone&) = delete; - ~DragonflyZone() override; + explicit DragonflyZone(NetZoneImpl* father, const std::string& name, resource::NetworkModel* netmodel); // void create_links_for_node(sg_platf_cluster_cbarg_t cluster, int id, int rank, int position) override; void get_local_route(NetPoint* src, NetPoint* dst, RouteCreationArgs* into, double* latency) override; void parse_specific_arguments(ClusterCreationArgs* cluster) override; @@ -77,7 +71,7 @@ public: private: void generate_routers(); void generate_links(); - void create_link(std::string id, int numlinks, resource::LinkImpl** linkup, resource::LinkImpl** linkdown); + void create_link(const std::string& id, int numlinks, resource::LinkImpl** linkup, resource::LinkImpl** linkdown); simgrid::s4u::Link::SharingPolicy sharing_policy_; double bw_ = 0; @@ -91,7 +85,7 @@ private: unsigned int num_links_black_ = 0; unsigned int num_links_blue_ = 0; unsigned int num_links_per_link_ = 1; // splitduplex -> 2, only for local link - DragonflyRouter** routers_ = nullptr; + std::vector routers_; }; } // namespace routing } // namespace kernel