-/* Copyright (c) 2014-2020. The SimGrid Team. All rights reserved. */
+/* Copyright (c) 2014-2021. 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_PUBLIC DragonflyZone : public ClusterZone {
public:
+ struct Coords {
+ unsigned group;
+ unsigned chassis;
+ unsigned blade;
+ unsigned node;
+ };
+
explicit DragonflyZone(NetZoneImpl* father, const std::string& name, resource::NetworkModel* netmodel);
void get_local_route(NetPoint* src, NetPoint* dst, RouteCreationArgs* into, double* latency) override;
void parse_specific_arguments(ClusterCreationArgs* cluster) override;
void seal() override;
- void rankId_to_coords(int rank_id, unsigned int coords[4]) const;
+ Coords rankId_to_coords(int rank_id) const;
+ XBT_ATTRIB_DEPRECATED_v330("Please use rankId_to_coords(int)") void rankId_to_coords(int rank_id,
+ unsigned int coords[4]) const;
private:
void generate_routers();
void generate_link(const std::string& id, int numlinks, resource::LinkImpl** linkup,
resource::LinkImpl** linkdown) const;
- simgrid::s4u::Link::SharingPolicy sharing_policy_;
+ simgrid::s4u::Link::SharingPolicy sharing_policy_ = simgrid::s4u::Link::SharingPolicy::SHARED;
double bw_ = 0;
double lat_ = 0;