X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/a22eb0ac7d22d5beaa6e33adf8f85c28dac59024..1803cebbea302971155017c36b1cc889a5d725eb:/src/kernel/routing/FloydZone.hpp diff --git a/src/kernel/routing/FloydZone.hpp b/src/kernel/routing/FloydZone.hpp index 1e5a87d48f..f1cb156936 100644 --- a/src/kernel/routing/FloydZone.hpp +++ b/src/kernel/routing/FloydZone.hpp @@ -12,23 +12,32 @@ 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, const char* name); + ~FloydZone() override; - void getLocalRoute(NetCard* src, NetCard* dst, sg_platf_route_cbarg_t into, double* latency) override; + void getLocalRoute(NetPoint* src, NetPoint* dst, sg_platf_route_cbarg_t into, double* latency) override; void addRoute(sg_platf_route_cbarg_t route) override; void seal() override; private: /* vars to compute the Floyd algorithm. */ - int *predecessorTable_; - double *costTable_; - sg_platf_route_cbarg_t *linkTable_; + int* predecessorTable_; + double* costTable_; + sg_platf_route_cbarg_t* linkTable_; }; - -}}} // namespaces +} +} +} // namespaces #endif /* SURF_ROUTING_FLOYD_HPP_ */