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);
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);
#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 {
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
/**
/* 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;
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");
}
* 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;
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;
-}
-
}
}
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) {}
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);
* 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;
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. */
}
* 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;
}
}
-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;
-}
-
}
}
~AsVivaldi() {};
void getRouteAndLatency(NetCard *src, NetCard *dst, sg_platf_route_cbarg_t into, double *latency) override;
- int parsePU(NetCard *elm) override;
};
}