Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
make trace_connect_list_host_speed private as it should
[simgrid.git] / src / surf / surf_routing_generic.cpp
index fc14c8f..a95b47e 100644 (file)
@@ -17,6 +17,7 @@
 #include "simgrid/platf_interface.h"    // platform creation API internal interface
 
 #include "surf_routing_generic.hpp"
+#include "surf_routing_private.hpp"
 #include "network_interface.hpp"
 
 XBT_LOG_NEW_DEFAULT_SUBCATEGORY(surf_routing_generic, surf_route, "Generic implementation of the surf routing");
@@ -31,6 +32,9 @@ void generic_free_route(sg_platf_route_cbarg_t route)
   }
 }
 
+namespace simgrid {
+namespace surf {
+  
 void AsGeneric::parseRoute(sg_platf_route_cbarg_t /*route*/){
   THROW_IMPOSSIBLE;
 }
@@ -39,7 +43,7 @@ void AsGeneric::parseASroute(sg_platf_route_cbarg_t /*route*/){
   THROW_IMPOSSIBLE;
 }
 
-void AsGeneric::getRouteAndLatency(RoutingEdge */*src*/, RoutingEdge */*dst*/, sg_platf_route_cbarg_t /*into*/, double */*latency*/){
+void AsGeneric::getRouteAndLatency(NetCard */*src*/, NetCard */*dst*/, sg_platf_route_cbarg_t /*into*/, double */*latency*/){
   THROW_IMPOSSIBLE;
 }
 
@@ -51,17 +55,17 @@ AsGeneric::~AsGeneric() {
   xbt_dict_free(&p_bypassRoutes);
 }
 
-int AsGeneric::parsePU(RoutingEdge *elm)
+int AsGeneric::parsePU(NetCard *elm)
 {
   XBT_DEBUG("Load process unit \"%s\"", elm->getName());
-  xbt_dynar_push_as(p_indexNetworkElm, RoutingEdge*, elm);
+  xbt_dynar_push_as(p_indexNetworkElm, NetCard*, elm);
   return xbt_dynar_length(p_indexNetworkElm)-1;
 }
 
-int AsGeneric::parseAS(RoutingEdge *elm)
+int AsGeneric::parseAS(NetCard *elm)
 {
   XBT_DEBUG("Load Autonomous system \"%s\"", elm->getName());
-  xbt_dynar_push_as(p_indexNetworkElm, RoutingEdge*, elm);
+  xbt_dynar_push_as(p_indexNetworkElm, NetCard*, elm);
   return xbt_dynar_length(p_indexNetworkElm)-1;
 }
 
@@ -98,14 +102,12 @@ void AsGeneric::parseBypassroute(sg_platf_route_cbarg_t e_route)
   xbt_free(route_name);
 }
 
+}
+}
+
 /* ************************************************************************** */
 /* *********************** GENERIC BUSINESS METHODS ************************* */
 
-xbt_dynar_t AsGeneric::getOneLinkRoutes() { // FIXME: kill that stub
-  xbt_die("\"generic_get_onelink_routes\" not implemented yet");
-  return NULL;
-}
-
 static const char *instr_node_name(xbt_node_t node)
 {
   void *data = xbt_graph_node_get_data(node);
@@ -151,6 +153,9 @@ xbt_edge_t new_xbt_graph_edge(xbt_graph_t graph, xbt_node_t s, xbt_node_t d,
   return ret;
 }
 
+namespace simgrid {
+namespace surf {
+
 void AsGeneric::getGraph(xbt_graph_t graph, xbt_dict_t nodes, xbt_dict_t edges)
 {
   int src, dst;
@@ -158,13 +163,13 @@ void AsGeneric::getGraph(xbt_graph_t graph, xbt_dict_t nodes, xbt_dict_t edges)
 
 
   for (src = 0; src < table_size; src++) {
-    RoutingEdge *my_src =
-        xbt_dynar_get_as(p_indexNetworkElm, src, RoutingEdge*);
+    NetCard *my_src =
+        xbt_dynar_get_as(p_indexNetworkElm, src, NetCard*);
     for (dst = 0; dst < table_size; dst++) {
       if (src == dst)
         continue;
-      RoutingEdge *my_dst =
-          xbt_dynar_get_as(p_indexNetworkElm, dst, RoutingEdge*);
+      NetCard *my_dst =
+          xbt_dynar_get_as(p_indexNetworkElm, dst, NetCard*);
 
       sg_platf_route_cbarg_t route = xbt_new0(s_sg_platf_route_cbarg_t, 1);
       route->link_list = xbt_dynar_new(sizeof(sg_routing_link_t), NULL);
@@ -188,7 +193,8 @@ void AsGeneric::getGraph(xbt_graph_t graph, xbt_dict_t nodes, xbt_dict_t edges)
       }
 
       xbt_dynar_foreach(route->link_list, cpt, link) {
-        const char *link_name = static_cast<Resource*>(link)->getName();
+        const char *link_name = static_cast<simgrid::surf::Resource*>(
+          link)->getName();
         current = new_xbt_graph_node(graph, link_name, nodes);
         current_name = link_name;
         new_xbt_graph_edge(graph, previous, current, edges);
@@ -213,8 +219,8 @@ void AsGeneric::getGraph(xbt_graph_t graph, xbt_dict_t nodes, xbt_dict_t edges)
   }
 }
 
-sg_platf_route_cbarg_t AsGeneric::getBypassRoute(RoutingEdge *src,
-                                               RoutingEdge *dst,
+sg_platf_route_cbarg_t AsGeneric::getBypassRoute(NetCard *src,
+                                               NetCard *dst,
                                                double *lat)
 {
   // If never set a bypass route return NULL without any further computations
@@ -331,7 +337,7 @@ sg_platf_route_cbarg_t AsGeneric::getBypassRoute(RoutingEdge *src,
 
   sg_platf_route_cbarg_t new_e_route = NULL;
   if (e_route_bypass) {
-         Link* link;
+    Link* link;
     unsigned int cpt = 0;
     new_e_route = xbt_new0(s_sg_platf_route_cbarg_t, 1);
     new_e_route->gw_src = e_route_bypass->gw_src;
@@ -416,7 +422,7 @@ As *AsGeneric::autonomousSystemExist(char *element)
   As *element_as, *result, *elem;
   xbt_dict_cursor_t cursor = NULL;
   char *key;
-  element_as = ((RoutingEdge*)
+  element_as = ((NetCard*)
       xbt_lib_get_or_null(as_router_lib, element,
           ROUTING_ASR_LEVEL))->getRcComponent();
   result = ((As*) - 1);
@@ -438,13 +444,13 @@ As *AsGeneric::autonomousSystemExist(char *element)
 
 As *AsGeneric::processingUnitsExist(char *element)
 {
-  As *element_as = sg_host_edge(sg_host_by_name(element)) ->getRcComponent();
+  As *element_as = sg_host_by_name(element)->pimpl_netcard ->getRcComponent();
   if (element_as == this)
     return element_as;
   return asExist(element_as);
 }
 
-void AsGeneric::srcDstCheck(RoutingEdge *src, RoutingEdge *dst)
+void AsGeneric::srcDstCheck(NetCard *src, NetCard *dst)
 {
   if (src == NULL || dst == NULL)
     xbt_die("Ask for route \"from\"(%s) or \"to\"(%s) no found at AS \"%s\"",
@@ -469,3 +475,6 @@ void AsGeneric::srcDstCheck(RoutingEdge *src, RoutingEdge *dst)
         dst_as->p_name,
         p_name);
 }
+
+}
+}