Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Merge branch 'master' of git+ssh://scm.gforge.inria.fr/gitroot/simgrid/simgrid
[simgrid.git] / src / surf / surf_routing_floyd.hpp
index 5f498f4..e5258f8 100644 (file)
@@ -10,7 +10,7 @@
 
 #include <xbt/base.h>
 
-#include "surf_routing_generic.hpp"
+#include "surf_routing_RoutedGraph.hpp"
 
 namespace simgrid {
 namespace surf {
@@ -20,22 +20,21 @@ namespace surf {
  ***********/
 class XBT_PRIVATE AsFloyd;
 
-class AsFloyd: public AsGeneric {
+/** Floyd routing data: slow initialization, fast lookup, lesser memory requirements, shortest path routing only */
+class AsFloyd: public AsRoutedGraph {
 public:
-  AsFloyd();
+  AsFloyd(const char *name);
   ~AsFloyd();
 
   void getRouteAndLatency(NetCard *src, NetCard *dst, sg_platf_route_cbarg_t into, double *latency) override;
-  xbt_dynar_t getOneLinkRoutes() override;
-  void parseASroute(sg_platf_route_cbarg_t route) override;
-  void parseRoute(sg_platf_route_cbarg_t route) override;
-  void end();
+  void addRoute(sg_platf_route_cbarg_t route) override;
+  void Seal() override;
 
 private:
   /* vars to compute the Floyd algorithm. */
-  int *p_predecessorTable;
-  double *p_costTable;
-  sg_platf_route_cbarg_t *p_linkTable;
+  int *predecessorTable_;
+  double *costTable_;
+  sg_platf_route_cbarg_t *linkTable_;
 };
 
 }