X-Git-Url: http://bilbo.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/5f4329821ed097d617ccb739e1dd1b22caaadf92..de00769095da24e77ceab237b324c2c3a4f94a9d:/include/simgrid/kernel/routing/TorusZone.hpp diff --git a/include/simgrid/kernel/routing/TorusZone.hpp b/include/simgrid/kernel/routing/TorusZone.hpp index 4eff9c16e0..4eeed3e691 100644 --- a/include/simgrid/kernel/routing/TorusZone.hpp +++ b/include/simgrid/kernel/routing/TorusZone.hpp @@ -1,35 +1,34 @@ -/* Copyright (c) 2014-2021. The SimGrid Team. All rights reserved. */ +/* Copyright (c) 2014-2023. 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. */ -#ifndef SURF_ROUTING_CLUSTER_TORUS_HPP_ -#define SURF_ROUTING_CLUSTER_TORUS_HPP_ +#ifndef SIMGRID_ROUTING_CLUSTER_TORUS_HPP_ +#define SIMGRID_ROUTING_CLUSTER_TORUS_HPP_ #include #include -namespace simgrid { -namespace kernel { -namespace routing { +namespace simgrid::kernel::routing { /** @ingroup ROUTING_API * @brief NetZone using a Torus topology * */ -class XBT_PRIVATE TorusZone : public ClusterZone { +class XBT_PRIVATE TorusZone : public ClusterBase { + std::vector dimensions_; + public: - explicit TorusZone(const std::string& name); - void create_links_for_node(ClusterCreationArgs* cluster, int id, int rank, unsigned int position) override; - void get_local_route(NetPoint* src, NetPoint* dst, RouteCreationArgs* into, double* latency) override; - void parse_specific_arguments(ClusterCreationArgs* cluster) override; + explicit TorusZone(const std::string& name) : ClusterBase(name){}; + void create_torus_links(unsigned long id, int rank, unsigned long position); + void get_local_route(const NetPoint* src, const NetPoint* dst, Route* into, double* latency) override; + void set_topology(const std::vector& dimensions); -private: - std::vector dimensions_; + /** @brief Convert topology parameters from string to vector of uint */ + static std::vector parse_topo_parameters(const std::string& topo_parameters); }; -} // namespace routing -} // namespace kernel -} // namespace simgrid + +} // namespace simgrid::kernel::routing #endif