From: thiery Date: Mon, 19 Jun 2006 15:26:03 +0000 (+0000) Subject: Implement function get_route in model KCCFLN05 (not tested yet...) X-Git-Tag: v3.3~2960 X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/commitdiff_plain/04b62daf10d4a89e8a74ec793403183009da153b?hp=52f9687dc29416ebfb912151beca87b2d7aab118 Implement function get_route in model KCCFLN05 (not tested yet...) git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/simgrid/simgrid/trunk@2398 48e7efb5-ca39-0410-a469-dd3cf9ba447f --- diff --git a/src/include/surf/surf.h b/src/include/surf/surf.h index 262c7f1dfd..eede32a964 100644 --- a/src/include/surf/surf.h +++ b/src/include/surf/surf.h @@ -130,7 +130,7 @@ void surf_cpu_resource_init_Cas01(const char *filename); typedef struct surf_network_resource_extension_public { surf_action_t(*communicate) (void *src, void *dst, double size, double max_rate); - void** (*get_route) (void *src, void *dst); + void* (*get_route) (void *src, void *dst); } s_surf_network_resource_extension_public_t, *surf_network_resource_extension_public_t; @@ -160,7 +160,7 @@ typedef struct surf_workstation_resource_extension_public { double *communication_amount, double amount, double rate); - void** (*get_route) (void *src, void *dst); + void* (*get_route) (void *src, void *dst); } s_surf_workstation_resource_extension_public_t, *surf_workstation_resource_extension_public_t; diff --git a/src/surf/network.c b/src/surf/network.c index eb432eb8ce..edb762e6ec 100644 --- a/src/surf/network.c +++ b/src/surf/network.c @@ -458,7 +458,7 @@ static surf_action_t communicate(void *src, void *dst, double size, double rate) return (surf_action_t) action; } -static void** get_route(void *src, void *dst) { +static void* get_route(void *src, void *dst) { /* TODO */ return NULL; diff --git a/src/surf/network_dassf.c b/src/surf/network_dassf.c index d1a149421b..553d851085 100644 --- a/src/surf/network_dassf.c +++ b/src/surf/network_dassf.c @@ -410,7 +410,7 @@ static surf_action_t communicate(void *src, void *dst, double size, double rate) return (surf_action_t) action; } -static void** get_route(void *src, void *dst) { +static void* get_route(void *src, void *dst) { /* TODO */ return NULL; diff --git a/src/surf/workstation.c b/src/surf/workstation.c index 10da74fde2..2c0e553bd2 100644 --- a/src/surf/workstation.c +++ b/src/surf/workstation.c @@ -387,7 +387,7 @@ static surf_action_t execute_parallel_task (int workstation_nb, return (surf_action_t) action; } -static void** get_route(void *src, void *dst) { +static void* get_route(void *src, void *dst) { /* TODO */ return NULL; diff --git a/src/surf/workstation_KCCFLN05.c b/src/surf/workstation_KCCFLN05.c index 2f8506359b..1c3288c74a 100644 --- a/src/surf/workstation_KCCFLN05.c +++ b/src/surf/workstation_KCCFLN05.c @@ -560,10 +560,19 @@ static surf_action_t execute_parallel_task(int cpu_nb, return NULL; } -static void** get_route(void *src, void *dst) { +static void* get_route(void *src, void *dst) { /* TODO: return a NULL-terminated array of network_link_KCCFLN05_t */ - return NULL; + cpu_KCCFLN05_t card_src = src; + cpu_KCCFLN05_t card_dst = dst; + route_KCCFLN05_t route = &(ROUTE(card_src->id, card_dst->id)); + int route_size = route->size; + + network_link_KCCFLN05_t *link_list = route->links; + link_list = xbt_realloc(link_list, (route_size+1) * sizeof(route_KCCFLN05_t)); + link_list[route_size] = NULL; + + return link_list; } /**************************************/