Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Add prototype of function get_route in Surf
authorthiery <thiery@48e7efb5-ca39-0410-a469-dd3cf9ba447f>
Mon, 19 Jun 2006 14:53:56 +0000 (14:53 +0000)
committerthiery <thiery@48e7efb5-ca39-0410-a469-dd3cf9ba447f>
Mon, 19 Jun 2006 14:53:56 +0000 (14:53 +0000)
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/simgrid/simgrid/trunk@2395 48e7efb5-ca39-0410-a469-dd3cf9ba447f

src/include/surf/surf.h
src/surf/network.c
src/surf/network_dassf.c
src/surf/workstation.c
src/surf/workstation_KCCFLN05.c

index 48e8bde..262c7f1 100644 (file)
@@ -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;
 
index f8690a8..eb432eb 100644 (file)
@@ -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();
index c0a6c07..d1a1494 100644 (file)
@@ -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();
index c21104d..10da74f 100644 (file)
@@ -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();
 
index 9f97c6d..2f85063 100644 (file)
@@ -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();