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;
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;
return (surf_action_t) action;
}
-static void** get_route(void *src, void *dst) {
+static void* get_route(void *src, void *dst) {
/* TODO */
return NULL;
return (surf_action_t) action;
}
-static void** get_route(void *src, void *dst) {
+static void* get_route(void *src, void *dst) {
/* TODO */
return NULL;
return (surf_action_t) action;
}
-static void** get_route(void *src, void *dst) {
+static void* get_route(void *src, void *dst) {
/* TODO */
return NULL;
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;
}
/**************************************/