Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
don't load a private header from s4u/NetZone.hpp
[simgrid.git] / src / kernel / routing / FullZone.hpp
index 3628e90..d40709d 100644 (file)
@@ -12,15 +12,22 @@ 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, 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<simgrid::surf::LinkImpl*>& link_list,
+                bool symmetrical) override;
 
   sg_platf_route_cbarg_t* routingTable_ = nullptr;
 };