Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Move forward declaration in simgrid/forward.h.
[simgrid.git] / src / kernel / routing / FullZone.hpp
index 3628e90..d92e444 100644 (file)
@@ -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<simgrid::surf::LinkImpl*>& link_list,
+                bool symmetrical) override;
 
-  sg_platf_route_cbarg_t* routingTable_ = nullptr;
+  RouteCreationArgs** routingTable_ = nullptr;
 };
 }
 }