-/* 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. */
-#ifndef SURF_ROUTING_VIVALDI_HPP_
-#define SURF_ROUTING_VIVALDI_HPP_
+#ifndef SIMGRID_ROUTING_VIVALDI_HPP_
+#define SIMGRID_ROUTING_VIVALDI_HPP_
-#include <simgrid/kernel/routing/ClusterZone.hpp>
+#include <simgrid/kernel/routing/StarZone.hpp>
#include <xbt/Extendable.hpp>
-namespace simgrid {
-namespace kernel {
-namespace routing {
+namespace simgrid::kernel::routing {
/** @ingroup ROUTING_API
* @brief NetZone modeling peers connected to the cloud through a private link
* were shown superior to the Vivaldi system and could be also implemented in SimGrid.
*/
-class XBT_PRIVATE VivaldiZone : public ClusterZone {
+class XBT_PRIVATE VivaldiZone : public StarZone {
public:
- explicit VivaldiZone(NetZoneImpl* father, const std::string& name, resource::NetworkModel* netmodel);
-
- void set_peer_link(NetPoint* netpoint, double bw_in, double bw_out, const std::string& coord);
- void get_local_route(NetPoint* src, NetPoint* dst, RouteCreationArgs* into, double* latency) override;
+ using StarZone::StarZone;
+ void set_peer_link(NetPoint* netpoint, double bw_in, double bw_out);
+ void get_local_route(const NetPoint* src, const NetPoint* dst, Route* into, double* latency) override;
};
namespace vivaldi {
std::vector<double> coords;
};
} // namespace vivaldi
-} // namespace routing
-} // namespace kernel
-} // namespace simgrid
+} // namespace simgrid::kernel::routing
-#endif /* SURF_ROUTING_VIVALDI_HPP_ */
+#endif /* SIMGRID_ROUTING_VIVALDI_HPP_ */