1 /* Copyright (c) 2013-2016. The SimGrid Team. All rights reserved. */
3 /* This program is free software; you can redistribute it and/or modify it
4 * under the terms of the license (GNU LGPL) which comes with this package. */
6 #ifndef SURF_ROUTING_VIVALDI_HPP_
7 #define SURF_ROUTING_VIVALDI_HPP_
9 #include "src/kernel/routing/AsCluster.hpp"
15 /* This extends cluster because each host has a private link */
16 class XBT_PRIVATE AsVivaldi: public AsCluster {
18 explicit AsVivaldi(As* father, const char* name);
20 void getLocalRoute(NetCard* src, NetCard* dst, sg_platf_route_cbarg_t into, double* latency) override;
24 class XBT_PRIVATE Coords {
26 static simgrid::xbt::Extension<simgrid::s4u::Host, Coords> EXTENSION_ID;
27 explicit Coords(s4u::Host* host, const char* str);
37 #endif /* SURF_ROUTING_VIVALDI_HPP_ */