From ab18a775a1f75bc5899cab352f64334fee259216 Mon Sep 17 00:00:00 2001 From: thiery Date: Mon, 19 Jun 2006 14:53:56 +0000 Subject: [PATCH 1/1] Add prototype of function get_route in Surf git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/simgrid/simgrid/trunk@2395 48e7efb5-ca39-0410-a469-dd3cf9ba447f --- src/include/surf/surf.h | 3 +++ src/surf/network.c | 9 ++++++++- src/surf/network_dassf.c | 9 ++++++++- src/surf/workstation.c | 7 +++++++ src/surf/workstation_KCCFLN05.c | 8 +++++++- 5 files changed, 33 insertions(+), 3 deletions(-) diff --git a/src/include/surf/surf.h b/src/include/surf/surf.h index 48e8bde5d6..262c7f1dfd 100644 --- a/src/include/surf/surf.h +++ b/src/include/surf/surf.h @@ -130,6 +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); } s_surf_network_resource_extension_public_t, *surf_network_resource_extension_public_t; @@ -141,6 +142,7 @@ typedef struct surf_network_resource { extern surf_network_resource_t surf_network_resource; void surf_network_resource_init_CM02(const char *filename); +extern xbt_dict_t network_link_set; /* Workstation resource */ typedef struct surf_workstation_resource_extension_public { @@ -158,6 +160,7 @@ typedef struct surf_workstation_resource_extension_public { double *communication_amount, double amount, double rate); + 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 f8690a850a..eb432eb8ce 100644 --- a/src/surf/network.c +++ b/src/surf/network.c @@ -13,7 +13,7 @@ XBT_LOG_NEW_DEFAULT_SUBCATEGORY(surf_network, surf, surf_network_resource_t surf_network_resource = NULL; -static xbt_dict_t network_link_set = NULL; +xbt_dict_t network_link_set = NULL; xbt_dict_t network_card_set = NULL; int card_number = 0; @@ -458,6 +458,12 @@ 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) { + /* TODO */ + + return NULL; +} + static void action_suspend(surf_action_t action) { ((surf_action_network_CM02_t) action)->suspended = 1; @@ -565,6 +571,7 @@ static void surf_network_resource_init_internal(void) surf_cpu_resource->common_public->set_max_duration = action_set_max_duration; surf_network_resource->extension_public->communicate = communicate; + surf_network_resource->extension_public->get_route = get_route; network_link_set = xbt_dict_new(); network_card_set = xbt_dict_new(); diff --git a/src/surf/network_dassf.c b/src/surf/network_dassf.c index c0a6c07812..d1a149421b 100644 --- a/src/surf/network_dassf.c +++ b/src/surf/network_dassf.c @@ -10,7 +10,7 @@ XBT_LOG_EXTERNAL_DEFAULT_CATEGORY(surf_network); /* surf_network_resource_t surf_network_resource = NULL; */ -static xbt_dict_t network_link_set = NULL; +/*xbt_dict_t network_link_set = NULL;*/ /* xbt_dict_t network_card_set = NULL; */ static int card_number = 0; @@ -410,6 +410,12 @@ 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) { + /* TODO */ + + return NULL; +} + static void action_suspend(surf_action_t action) { ((surf_action_network_DASSF_t) action)->suspended = 1; @@ -508,6 +514,7 @@ static void surf_network_resource_init_internal(void) surf_network_resource->common_public->is_suspended = action_is_suspended; surf_network_resource->extension_public->communicate = communicate; + surf_network_resource->extension_public->get_route = get_route; network_link_set = xbt_dict_new(); network_card_set = xbt_dict_new(); diff --git a/src/surf/workstation.c b/src/surf/workstation.c index c21104dbc8..10da74fde2 100644 --- a/src/surf/workstation.c +++ b/src/surf/workstation.c @@ -387,6 +387,12 @@ static surf_action_t execute_parallel_task (int workstation_nb, return (surf_action_t) action; } +static void** get_route(void *src, void *dst) { + /* TODO */ + + return NULL; +} + static void finalize(void) { xbt_dict_free(&workstation_set); @@ -466,6 +472,7 @@ static void surf_workstation_resource_init_internal(void) surf_workstation_resource->extension_public->communicate = communicate; surf_workstation_resource->extension_public->execute_parallel_task = execute_parallel_task; + surf_workstation_resource->extension_public->get_route = get_route; workstation_set = xbt_dict_new(); diff --git a/src/surf/workstation_KCCFLN05.c b/src/surf/workstation_KCCFLN05.c index 9f97c6daec..2f8506359b 100644 --- a/src/surf/workstation_KCCFLN05.c +++ b/src/surf/workstation_KCCFLN05.c @@ -17,7 +17,7 @@ static s_route_KCCFLN05_t *routing_table = NULL; #define ROUTE(i,j) routing_table[(i)+(j)*nb_workstation] static network_link_KCCFLN05_t loopback = NULL; -static xbt_dict_t network_link_set = NULL; +/*xbt_dict_t network_link_set = NULL;*/ /* convenient function */ static void __update_cpu_usage(cpu_KCCFLN05_t cpu) @@ -560,6 +560,11 @@ static surf_action_t execute_parallel_task(int cpu_nb, return NULL; } +static void** get_route(void *src, void *dst) { + /* TODO: return a NULL-terminated array of network_link_KCCFLN05_t */ + + return NULL; +} /**************************************/ /*** Resource Creation & Destruction **/ @@ -910,6 +915,7 @@ static void resource_init_internal(void) surf_workstation_resource->extension_public->get_available_speed = get_available_speed; surf_workstation_resource->extension_public->communicate = communicate; surf_workstation_resource->extension_public->execute_parallel_task = execute_parallel_task; + surf_workstation_resource->extension_public->get_route = get_route; workstation_set = xbt_dict_new(); network_link_set = xbt_dict_new(); -- 2.20.1