X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/a18117755285a374ec3d5830309c924f2830e3ba..28f758f3ac685281f048a22a99405f48163be169:/src/kernel/routing/FloydZone.hpp diff --git a/src/kernel/routing/FloydZone.hpp b/src/kernel/routing/FloydZone.hpp index c3023b22a2..69ead53607 100644 --- a/src/kernel/routing/FloydZone.hpp +++ b/src/kernel/routing/FloydZone.hpp @@ -12,14 +12,24 @@ namespace simgrid { namespace kernel { namespace routing { -/** Floyd routing data: slow initialization, fast lookup, lesser memory requirements, shortest path routing only */ -class XBT_PRIVATE AsFloyd : public AsRoutedGraph { +/** @ingroup ROUTING_API + * @brief NetZone with an explicit routing computed at initialization with Floyd-Warshal + * + * The path between components is computed at creation time from every one-hop links, + * using the Floyd-Warshal algorithm. + * + * This result in rather small platform file, slow initialization time, and intermediate memory requirements + * (somewhere between the one of @{DijkstraZone} and the one of @{FullZone}). + */ +class XBT_PRIVATE FloydZone : public RoutedZone { public: - explicit AsFloyd(As* father, const char* name); - ~AsFloyd() override; + explicit FloydZone(NetZone* father, std::string name); + ~FloydZone() override; - void getLocalRoute(NetCard* src, NetCard* dst, sg_platf_route_cbarg_t into, double* latency) override; - void addRoute(sg_platf_route_cbarg_t route) override; + void getLocalRoute(NetPoint* src, NetPoint* dst, sg_platf_route_cbarg_t 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; void seal() override; private: