Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
move some XML specific code from surf_routing.c to surfxml_parse.c
authorMartin Quinson <martin.quinson@loria.fr>
Fri, 11 Nov 2011 01:47:04 +0000 (02:47 +0100)
committerMartin Quinson <martin.quinson@loria.fr>
Fri, 11 Nov 2011 01:53:30 +0000 (02:53 +0100)
src/include/surf/surfxml_parse_values.h
src/surf/surf_routing.c
src/surf/surfxml_parse.c

index 4940df9..c35c33d 100644 (file)
@@ -21,8 +21,8 @@ typedef struct s_surf_parsing_cluster_arg {
        double bb_bw;
        double bb_lat;
        const char* router_id;
-       int sharing_policy; // FIXME: convert to e_surf_link_sharing_policy_t
-       int bb_sharing_policy; // FIXME: convert to e_surf_link_sharing_policy_t
+       e_surf_link_sharing_policy_t sharing_policy;
+       e_surf_link_sharing_policy_t bb_sharing_policy;
        const char* availability_trace; //don't convert to tmgr_trace_t since there is a trace per host and some rewriting is needed
        const char* state_trace;
 } s_surf_parsing_cluster_arg_t;
index 05a90c6..0c310ba 100644 (file)
@@ -839,23 +839,7 @@ static void routing_parse_cluster(void)
       link.bandwidth = struct_cluster->bw;
       link.latency = struct_cluster->lat;
       link.state = SURF_RESOURCE_ON;
-
-      switch (struct_cluster->sharing_policy) {
-      case A_surfxml_cluster_sharing_policy_SHARED:
-        link.policy = SURF_LINK_SHARED;
-        break;
-      case A_surfxml_cluster_sharing_policy_FULLDUPLEX:
-        link.policy = SURF_LINK_FULLDUPLEX;
-        break;
-      case A_surfxml_cluster_sharing_policy_FATPIPE:
-        link.policy = SURF_LINK_FATPIPE;
-        break;
-      default:
-        surf_parse_error(bprintf
-                         ("Invalid cluster sharing policy for cluster %s",
-                          struct_cluster->id));
-        break;
-      }
+      link.policy = struct_cluster->sharing_policy;
       sg_platf_new_link(&link);
 
       surf_parsing_link_up_down_t info =
@@ -910,20 +894,7 @@ static void routing_parse_cluster(void)
     link.bandwidth = struct_cluster->bb_bw;
     link.latency = struct_cluster->bb_lat;
     link.state = SURF_RESOURCE_ON;
-
-    switch (struct_cluster->bb_sharing_policy) {
-    case A_surfxml_cluster_bb_sharing_policy_FATPIPE:
-      link.policy = SURF_LINK_FATPIPE;
-      break;
-    case A_surfxml_cluster_bb_sharing_policy_SHARED:
-      link.policy = SURF_LINK_SHARED;
-      break;
-    default:
-      surf_parse_error(bprintf
-                       ("Invalid bb sharing policy in cluster %s",
-                        struct_cluster->id));
-      break;
-    }
+    link.policy = struct_cluster->bb_sharing_policy;
 
     sg_platf_new_link(&link);
 
index 21ebc74..ec8eac6 100644 (file)
@@ -313,8 +313,35 @@ void STag_surfxml_cluster(void){
          struct_cluster->bb_lat = surf_parse_get_double(A_surfxml_cluster_bb_lat);
        struct_cluster->router_id = A_surfxml_cluster_router_id;
 
-       struct_cluster->sharing_policy = AX_surfxml_cluster_sharing_policy;
-       struct_cluster->bb_sharing_policy = AX_surfxml_cluster_bb_sharing_policy;
+  switch (AX_surfxml_cluster_sharing_policy) {
+  case A_surfxml_cluster_sharing_policy_SHARED:
+    struct_cluster->sharing_policy = SURF_LINK_SHARED;
+    break;
+  case A_surfxml_cluster_sharing_policy_FULLDUPLEX:
+    struct_cluster->sharing_policy = SURF_LINK_FULLDUPLEX;
+    break;
+  case A_surfxml_cluster_sharing_policy_FATPIPE:
+    struct_cluster->sharing_policy = SURF_LINK_FATPIPE;
+    break;
+  default:
+    surf_parse_error(bprintf
+                     ("Invalid cluster sharing policy for cluster %s",
+                      struct_cluster->id));
+    break;
+  }
+  switch (AX_surfxml_cluster_bb_sharing_policy) {
+  case A_surfxml_cluster_bb_sharing_policy_FATPIPE:
+    struct_cluster->bb_sharing_policy = SURF_LINK_FATPIPE;
+    break;
+  case A_surfxml_cluster_bb_sharing_policy_SHARED:
+    struct_cluster->bb_sharing_policy = SURF_LINK_SHARED;
+    break;
+  default:
+    surf_parse_error(bprintf
+                     ("Invalid bb sharing policy in cluster %s",
+                      struct_cluster->id));
+    break;
+  }
 
        struct_cluster->availability_trace = A_surfxml_cluster_availability_file;
        struct_cluster->state_trace = A_surfxml_cluster_state_file;