static int no_bypassroute_declared = 1;
-void generic_free_route(sg_platf_route_cbarg_t route)
+void routing_route_free(sg_platf_route_cbarg_t route)
{
if (route) {
xbt_dynar_free(&route->link_list);
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;
}
AsGeneric::AsGeneric() {
- p_bypassRoutes = xbt_dict_new_homogeneous((void (*)(void *)) generic_free_route);
+ p_bypassRoutes = xbt_dict_new_homogeneous((void (*)(void *)) routing_route_free);
}
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;
}
namespace simgrid {
namespace surf {
-xbt_dynar_t AsGeneric::getOneLinkRoutes() { // FIXME: kill that stub
- xbt_die("\"generic_get_onelink_routes\" not implemented yet");
- return NULL;
-}
-
void AsGeneric::getGraph(xbt_graph_t graph, xbt_dict_t nodes, xbt_dict_t edges)
{
int src, dst;
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);
}
}
-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
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;
return result;
}
-
-
-As *AsGeneric::asExist(As *to_find)
-{
- //return to_find; // FIXME: BYPASSERROR OF FOREACH WITH BREAK
- xbt_dict_cursor_t cursor = NULL;
- char *key;
- int found = 0;
- AsGeneric *elem;
- xbt_dict_foreach(p_routingSons, cursor, key, elem) {
- if (to_find == elem || elem->asExist(to_find)) {
- found = 1;
- break;
- }
- }
- if (found)
- return to_find;
- return NULL;
-}
-
-As *AsGeneric::autonomousSystemExist(char *element)
-{
- //return rc; // FIXME: BYPASSERROR OF FOREACH WITH BREAK
- As *element_as, *result, *elem;
- xbt_dict_cursor_t cursor = NULL;
- char *key;
- element_as = ((RoutingEdge*)
- xbt_lib_get_or_null(as_router_lib, element,
- ROUTING_ASR_LEVEL))->getRcComponent();
- result = ((As*) - 1);
- if (element_as != this)
- result = asExist(element_as);
-
- int found = 0;
- if (result) {
- xbt_dict_foreach(element_as->p_routingSons, cursor, key, elem) {
- found = !strcmp(elem->p_name, element);
- if (found)
- break;
- }
- if (found)
- return element_as;
- }
- return NULL;
-}
-
-As *AsGeneric::processingUnitsExist(char *element)
-{
- As *element_as = sg_host_edge(sg_host_by_name(element)) ->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\"",