Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Routing: kill some dupplicated code
authorMartin Quinson <martin.quinson@loria.fr>
Fri, 12 Feb 2016 08:46:17 +0000 (09:46 +0100)
committerMartin Quinson <martin.quinson@loria.fr>
Fri, 12 Feb 2016 08:46:24 +0000 (09:46 +0100)
src/surf/sg_platf.cpp
src/surf/surf_routing.cpp
src/surf/surf_routing.hpp
src/surf/surf_routing_cluster.cpp
src/surf/surf_routing_cluster.hpp
src/surf/surf_routing_generic.cpp
src/surf/surf_routing_generic.hpp
src/surf/surf_routing_none.cpp
src/surf/surf_routing_none.hpp
src/surf/surf_routing_vivaldi.cpp
src/surf/surf_routing_vivaldi.hpp

index bdf0803..02017af 100644 (file)
@@ -73,7 +73,7 @@ void sg_platf_new_host(sg_platf_host_cbarg_t host)
   simgrid::surf::NetCard *netcard =
       new simgrid::surf::NetCardImpl(host->id, SURF_NETWORK_ELEMENT_HOST, current_routing);
 
-  netcard->setId(current_routing->parsePU(netcard));
+  netcard->setId(current_routing->addComponent(netcard));
   sg_host_t h = simgrid::s4u::Host::by_name_or_create(host->id);
   h->pimpl_netcard = netcard;
   simgrid::surf::netcardCreatedCallbacks(netcard);
@@ -130,7 +130,7 @@ void sg_platf_new_router(sg_platf_router_cbarg_t router)
              router->id);
 
   simgrid::surf::NetCard *info = new simgrid::surf::NetCardImpl(router->id, SURF_NETWORK_ELEMENT_ROUTER, current_routing);
-  info->setId(current_routing->parsePU(info));
+  info->setId(current_routing->addComponent(info));
   xbt_lib_set(as_router_lib, router->id, ROUTING_ASR_LEVEL, (void *) info);
   XBT_DEBUG("Having set name '%s' id '%d'", router->id, info->getId());
   simgrid::surf::netcardCreatedCallbacks(info);
index 8bad717..237c4ed 100644 (file)
@@ -21,6 +21,7 @@
 #include "src/surf/surf_routing_full.hpp"
 #include "src/surf/surf_routing_vivaldi.hpp"
 
+XBT_LOG_NEW_DEFAULT_SUBCATEGORY(surf_route, surf, "Routing part of surf");
 
 namespace simgrid {
 namespace surf {
@@ -42,6 +43,12 @@ namespace surf {
       delete netcard_;
   }
 
+  int As::addComponent(NetCard *elm) {
+    XBT_DEBUG("Load component \"%s\"", elm->getName());
+    xbt_dynar_push_as(p_indexNetworkElm, NetCard*, elm);
+    return xbt_dynar_length(p_indexNetworkElm)-1;
+  }
+
 }} // namespace simgrid::surf
 
 /**
@@ -79,7 +86,6 @@ simgrid::surf::NetCard *sg_netcard_by_name_or_null(const char *name)
 /* Global vars */
 simgrid::surf::RoutingPlatf *routing_platf = NULL;
 
-XBT_LOG_NEW_DEFAULT_SUBCATEGORY(surf_route, surf, "Routing part of surf");
 
 /** The current AS in the parsing */
 static simgrid::surf::As *current_routing = NULL;
@@ -186,7 +192,7 @@ void routing_AS_begin(sg_platf_AS_cbarg_t AS)
     xbt_dict_set(current_routing->sons_, AS->id,
                  (void *) new_as, NULL);
     /* add to the father element list */
-    netcard->setId(current_routing->parseAS(netcard));
+    netcard->setId(current_routing->addComponent(netcard));
   } else {
     THROWF(arg_error, 0, "All defined components must belong to a AS");
   }
index 7a67da8..8ffb46f 100644 (file)
@@ -95,8 +95,7 @@ public:
    * that a new element is added to the AS currently built.
    *
    * Of course, only the routing model of this AS is informed, not every ones */
-  virtual int parsePU(NetCard *elm)=0; /* A host or a router, whatever */
-  virtual int parseAS(NetCard *elm)=0;
+  virtual int addComponent(NetCard *elm); /* A host, a router or an AS, whatever */
   virtual void parseRoute(sg_platf_route_cbarg_t route)=0;
   virtual void parseASroute(sg_platf_route_cbarg_t route)=0;
   virtual void parseBypassroute(sg_platf_route_cbarg_t e_route)=0;
index f384013..61ced4e 100644 (file)
@@ -162,17 +162,5 @@ void AsCluster::create_links_for_node(sg_platf_cluster_cbarg_t cluster, int id,
   xbt_free(link_id);
 }
 
-int AsCluster::parsePU(NetCard *elm) {
-  XBT_DEBUG("Load process unit \"%s\"", elm->getName());
-  xbt_dynar_push_as(p_indexNetworkElm, NetCard*, elm);
-  return xbt_dynar_length(p_indexNetworkElm)-1;
-}
-
-int AsCluster::parseAS(NetCard *elm) {
-  XBT_DEBUG("Load Autonomous system \"%s\"", elm->getName());
-  xbt_dynar_push_as(p_indexNetworkElm, NetCard*, elm);
-  return xbt_dynar_length(p_indexNetworkElm)-1;
-}
-
 }
 }
index ad7f4a0..74018c5 100644 (file)
@@ -32,8 +32,6 @@ public:
   virtual void getRouteAndLatency(NetCard *src, NetCard *dst, sg_platf_route_cbarg_t into, double *latency) override;
   void getGraph(xbt_graph_t graph, xbt_dict_t nodes, xbt_dict_t edges) override;
 
-  int parsePU(NetCard *elm) override; /* A host or a router, whatever */
-  int parseAS(NetCard *elm) override;
   virtual void create_links_for_node(sg_platf_cluster_cbarg_t cluster, int id, int rank, int position);
   virtual void parse_specific_arguments(sg_platf_cluster_cbarg_t cluster) {}
 
index 3e8a8d8..d332952 100644 (file)
@@ -58,20 +58,6 @@ AsGeneric::~AsGeneric()
   xbt_dict_free(&bypassRoutes_);
 }
 
-int AsGeneric::parsePU(NetCard *elm)
-{
-  XBT_DEBUG("Load process unit \"%s\"", elm->getName());
-  xbt_dynar_push_as(p_indexNetworkElm, NetCard*, elm);
-  return xbt_dynar_length(p_indexNetworkElm)-1;
-}
-
-int AsGeneric::parseAS(NetCard *elm)
-{
-  XBT_DEBUG("Load Autonomous system \"%s\"", elm->getName());
-  xbt_dynar_push_as(p_indexNetworkElm, NetCard*, elm);
-  return xbt_dynar_length(p_indexNetworkElm)-1;
-}
-
 void AsGeneric::parseBypassroute(sg_platf_route_cbarg_t e_route)
 {
   char *src = (char*)(e_route->src);
index ce2c287..bd5d3c5 100644 (file)
@@ -29,8 +29,6 @@ public:
    * that a new element is added to the AS currently built.
    *
    * Of course, only the routing model of this AS is informed, not every ones */
-  virtual int parsePU(NetCard *elm) override; /* A host or a router, whatever */
-  virtual int parseAS(NetCard *elm) override;
   virtual void parseRoute(sg_platf_route_cbarg_t route) override;
   virtual void parseASroute(sg_platf_route_cbarg_t route) override;
   virtual void parseBypassroute(sg_platf_route_cbarg_t e_route) override;
index 34e817c..ddd0dd8 100644 (file)
@@ -36,20 +36,6 @@ sg_platf_route_cbarg_t AsNone::getBypassRoute(NetCard * /*src*/, NetCard * /*dst
   return NULL;
 }
 
-int AsNone::parsePU(NetCard *elm) {
-  XBT_DEBUG("Load process unit \"%s\"", elm->getName());
-  xbt_dynar_push_as(p_indexNetworkElm, NetCard*, elm);
-  /* don't care about PUs */
-  return -1;
-}
-
-int AsNone::parseAS(NetCard *elm) {
-  XBT_DEBUG("Load Autonomous system \"%s\"", elm->getName());
-  xbt_dynar_push_as(p_indexNetworkElm, NetCard*, elm);
-  /* even don't care about sub-ASes -- I'm as nihilist as an old punk*/
-  return -1;
-}
-
 void AsNone::parseRoute(sg_platf_route_cbarg_t /*route*/){
   THROW_IMPOSSIBLE; /* No. */
 }
index 3ed7b18..b537f9d 100644 (file)
@@ -30,8 +30,6 @@ public:
    * that a new element is added to the AS currently built.
    *
    * Of course, only the routing model of this AS is informed, not every ones */
-  int parsePU(NetCard *elm) override; /* A host or a router, whatever */
-  int parseAS( NetCard *elm) override;
   void parseRoute(sg_platf_route_cbarg_t route) override;
   void parseASroute(sg_platf_route_cbarg_t route) override;
   void parseBypassroute(sg_platf_route_cbarg_t e_route) override;
index 6249166..95bcc1b 100644 (file)
@@ -110,11 +110,5 @@ void AsVivaldi::getRouteAndLatency(NetCard *src, NetCard *dst, sg_platf_route_cb
   }
 }
 
-int AsVivaldi::parsePU(NetCard *elm) {
-  XBT_DEBUG("Load process unit \"%s\"", elm->getName());
-  xbt_dynar_push_as(p_indexNetworkElm, sg_netcard_t, elm);
-  return xbt_dynar_length(p_indexNetworkElm)-1;
-}
-
 }
 }
index 69299e0..9e607ba 100644 (file)
@@ -30,7 +30,6 @@ public:
   ~AsVivaldi() {};
 
   void getRouteAndLatency(NetCard *src, NetCard *dst, sg_platf_route_cbarg_t into, double *latency) override;
-  int parsePU(NetCard *elm) override;
 };
 
 }