-/* 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. */
*/
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(NetPoint* src, NetPoint* dst, sg_platf_route_cbarg_t into, double* latency) override;
- void parse_specific_arguments(sg_platf_cluster_cbarg_t cluster) override;
+ void parse_specific_arguments(ClusterCreationArgs* cluster) override;
void seal() override;
void generateRouters();
void generateLinks();
- void createLink(char* id, int numlinks, surf::LinkImpl** linkup, surf::LinkImpl** 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;