X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/a18117755285a374ec3d5830309c924f2830e3ba..de57b34916659892d2dc26edabf552253afe2c18:/src/kernel/routing/FullZone.hpp diff --git a/src/kernel/routing/FullZone.hpp b/src/kernel/routing/FullZone.hpp index 3628e90c80..d92e4445fa 100644 --- a/src/kernel/routing/FullZone.hpp +++ b/src/kernel/routing/FullZone.hpp @@ -12,17 +12,24 @@ namespace simgrid { namespace kernel { namespace routing { -/** Full routing: fast, large memory requirements, fully expressive */ -class XBT_PRIVATE AsFull : public AsRoutedGraph { +/** @ingroup ROUTING_API + * @brief NetZone with an explicit routing provided by the user + * + * The full communication matrix is provided at creation, so this model has the highest expressive power and the lowest + * computational requirements, but also the highest memory requirements (both in platform file and in memory). + */ +class XBT_PRIVATE FullZone : public RoutedZone { public: - explicit AsFull(As* father, const char* name); + explicit FullZone(NetZone* father, std::string name); void seal() override; - ~AsFull() override; + ~FullZone() 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, 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; - sg_platf_route_cbarg_t* routingTable_ = nullptr; + RouteCreationArgs** routingTable_ = nullptr; }; } }