X-Git-Url: http://bilbo.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/bf41d7b09bccdac18be3631c03256f2a34bdb202..de00769095da24e77ceab237b324c2c3a4f94a9d:/include/simgrid/kernel/routing/FullZone.hpp diff --git a/include/simgrid/kernel/routing/FullZone.hpp b/include/simgrid/kernel/routing/FullZone.hpp index 4890a24df9..3a83895bb3 100644 --- a/include/simgrid/kernel/routing/FullZone.hpp +++ b/include/simgrid/kernel/routing/FullZone.hpp @@ -1,4 +1,4 @@ -/* Copyright (c) 2013-2018. 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,21 +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 { -public: - explicit FullZone(NetZone* father, std::string name); - void seal() override; - ~FullZone() override; + std::vector>> routing_table_; + void do_seal() override; + /** @brief Check and resize (if necessary) the routing table */ + void check_routing_table(); - void getLocalRoute(NetPoint* src, NetPoint* dst, RouteCreationArgs* into, double* latency) override; - void addRoute(kernel::routing::NetPoint* src, kernel::routing::NetPoint* dst, kernel::routing::NetPoint* gw_src, - kernel::routing::NetPoint* gw_dst, std::vector& link_list, - bool symmetrical) override; +public: + using RoutedZone::RoutedZone; + FullZone(const FullZone&) = delete; + FullZone& operator=(const FullZone) = delete; -private: - RouteCreationArgs** routing_table_ = nullptr; + 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, + const std::vector& link_list, bool symmetrical) override; }; -} // namespace routing -} // namespace kernel -} // namespace simgrid +} // namespace simgrid::kernel::routing #endif /* SIMGRID_ROUTING_FULL_HPP_ */