git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/simgrid/simgrid/trunk@2395
48e7efb5-ca39-0410-a469-
dd3cf9ba447f
typedef struct surf_network_resource_extension_public {
surf_action_t(*communicate) (void *src, void *dst, double size,
double max_rate);
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;
} s_surf_network_resource_extension_public_t,
*surf_network_resource_extension_public_t;
extern surf_network_resource_t surf_network_resource;
void surf_network_resource_init_CM02(const char *filename);
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 {
/* Workstation resource */
typedef struct surf_workstation_resource_extension_public {
double *communication_amount,
double amount,
double rate);
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;
} s_surf_workstation_resource_extension_public_t,
*surf_workstation_resource_extension_public_t;
surf_network_resource_t surf_network_resource = NULL;
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;
xbt_dict_t network_card_set = NULL;
int card_number = 0;
return (surf_action_t) action;
}
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;
static void action_suspend(surf_action_t action)
{
((surf_action_network_CM02_t) action)->suspended = 1;
surf_cpu_resource->common_public->set_max_duration = action_set_max_duration;
surf_network_resource->extension_public->communicate = communicate;
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();
network_link_set = xbt_dict_new();
network_card_set = xbt_dict_new();
XBT_LOG_EXTERNAL_DEFAULT_CATEGORY(surf_network);
/* surf_network_resource_t surf_network_resource = NULL; */
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;
/* xbt_dict_t network_card_set = NULL; */
static int card_number = 0;
return (surf_action_t) action;
}
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;
static void action_suspend(surf_action_t action)
{
((surf_action_network_DASSF_t) action)->suspended = 1;
surf_network_resource->common_public->is_suspended = action_is_suspended;
surf_network_resource->extension_public->communicate = communicate;
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();
network_link_set = xbt_dict_new();
network_card_set = xbt_dict_new();
return (surf_action_t) action;
}
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);
static void finalize(void)
{
xbt_dict_free(&workstation_set);
surf_workstation_resource->extension_public->communicate = communicate;
surf_workstation_resource->extension_public->execute_parallel_task =
execute_parallel_task;
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();
workstation_set = xbt_dict_new();
#define ROUTE(i,j) routing_table[(i)+(j)*nb_workstation]
static network_link_KCCFLN05_t loopback = 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)
/* convenient function */
static void __update_cpu_usage(cpu_KCCFLN05_t cpu)
+static void** get_route(void *src, void *dst) {
+ /* TODO: return a NULL-terminated array of network_link_KCCFLN05_t */
+
+ return NULL;
+}
/**************************************/
/*** Resource Creation & Destruction **/
/**************************************/
/*** Resource Creation & Destruction **/
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_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();
workstation_set = xbt_dict_new();
network_link_set = xbt_dict_new();