X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/39c935d6d5ee86d153f6f7e6a10d723ae7c57f6f..HEAD:/include/simgrid/kernel/routing/FullZone.hpp diff --git a/include/simgrid/kernel/routing/FullZone.hpp b/include/simgrid/kernel/routing/FullZone.hpp index 3eed49470a..3a83895bb3 100644 --- a/include/simgrid/kernel/routing/FullZone.hpp +++ b/include/simgrid/kernel/routing/FullZone.hpp @@ -1,4 +1,4 @@ -/* Copyright (c) 2013-2021. The SimGrid Team. All rights reserved. */ +/* Copyright (c) 2013-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. */ @@ -8,9 +8,7 @@ #include -namespace simgrid { -namespace kernel { -namespace routing { +namespace simgrid::kernel::routing { /** @ingroup ROUTING_API * @brief NetZone with an explicit routing provided by the user @@ -19,22 +17,20 @@ namespace routing { * computational requirements, but also the highest memory requirements (both in platform file and in memory). */ class XBT_PRIVATE FullZone : public RoutedZone { + std::vector>> routing_table_; + void do_seal() override; + /** @brief Check and resize (if necessary) the routing table */ + void check_routing_table(); + public: - explicit FullZone(NetZoneImpl* father, const std::string& name, resource::NetworkModel* netmodel); + using RoutedZone::RoutedZone; FullZone(const FullZone&) = delete; FullZone& operator=(const FullZone) = delete; - ~FullZone() override; - void seal() override; - void get_local_route(NetPoint* src, NetPoint* dst, RouteCreationArgs* into, double* latency) override; + void get_local_route(const NetPoint* src, const NetPoint* dst, Route* into, double* latency) override; void add_route(NetPoint* src, NetPoint* dst, NetPoint* gw_src, NetPoint* gw_dst, - std::vector& link_list, bool symmetrical) override; - -private: - std::vector routing_table_; + const std::vector& link_list, bool symmetrical) override; }; -} // namespace routing -} // namespace kernel -} // namespace simgrid +} // namespace simgrid::kernel::routing #endif /* SIMGRID_ROUTING_FULL_HPP_ */