gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[GNUnet-SVN] r30592 - gnunet/src/ats


From: gnunet
Subject: [GNUnet-SVN] r30592 - gnunet/src/ats
Date: Thu, 7 Nov 2013 10:59:42 +0100

Author: wachs
Date: 2013-11-07 10:59:42 +0100 (Thu, 07 Nov 2013)
New Revision: 30592

Modified:
   gnunet/src/ats/libgnunet_plugin_ats_mlp.c
   gnunet/src/ats/perf_ats_solver.c
Log:
adding notification to solver


Modified: gnunet/src/ats/libgnunet_plugin_ats_mlp.c
===================================================================
--- gnunet/src/ats/libgnunet_plugin_ats_mlp.c   2013-11-07 09:49:16 UTC (rev 
30591)
+++ gnunet/src/ats/libgnunet_plugin_ats_mlp.c   2013-11-07 09:59:42 UTC (rev 
30592)
@@ -1157,13 +1157,13 @@
   mlp->control_param_lp.presolve = GLP_YES;
   /* Run LP solver */
 
-  notify(mlp, GAS_OP_SOLVE_LP_START, GAS_STAT_SUCCESS,
+  notify(mlp, GAS_OP_SOLVE_MLP_LP_START, GAS_STAT_SUCCESS,
       (GNUNET_YES == mlp->mlp_prob_changed) ? GAS_INFO_FULL : 
GAS_INFO_UPDATED);
   LOG(GNUNET_ERROR_TYPE_DEBUG,
       "Running LP solver %s\n",
       (GLP_YES == mlp->control_param_lp.presolve)? "with presolver": "without 
presolver");
   res_lp = mlp_solve_lp_problem(mlp);
-  notify(mlp, GAS_OP_SOLVE_LP_STOP,
+  notify(mlp, GAS_OP_SOLVE_MLP_LP_STOP,
       (GNUNET_OK == res_lp) ? GAS_STAT_SUCCESS : GAS_STAT_FAIL,
       (GNUNET_YES == mlp->mlp_prob_changed) ? GAS_INFO_FULL : 
GAS_INFO_UPDATED);
 
@@ -1172,10 +1172,10 @@
 
   /* Run MLP solver */
   LOG(GNUNET_ERROR_TYPE_DEBUG, "Running MLP solver \n");
-  notify(mlp, GAS_OP_SOLVE_MLP_START, GAS_STAT_SUCCESS,
+  notify(mlp, GAS_OP_SOLVE_MLP_MLP_START, GAS_STAT_SUCCESS,
       (GNUNET_YES == mlp->mlp_prob_changed) ? GAS_INFO_FULL : 
GAS_INFO_UPDATED);
   res_mip = mlp_solve_mlp_problem(mlp);
-  notify(mlp, GAS_OP_SOLVE_MLP_STOP,
+  notify(mlp, GAS_OP_SOLVE_MLP_MLP_STOP,
       (GNUNET_OK == res_lp) ? GAS_STAT_SUCCESS : GAS_STAT_FAIL,
       (GNUNET_YES == mlp->mlp_prob_changed) ? GAS_INFO_FULL : 
GAS_INFO_UPDATED);
   notify(mlp, GAS_OP_SOLVE_STOP,
@@ -1205,11 +1205,17 @@
   mlp->ps.p_elements = mlp->p.num_elements;
 
   /* Propagate result*/
+  notify(mlp, GAS_OP_SOLVE_UPDATE_NOTIFICATION_START,
+      (GNUNET_OK == res_lp) && (GNUNET_OK == res_mip) ? GAS_STAT_SUCCESS : 
GAS_STAT_FAIL,
+      GAS_INFO_NONE);
   if ((GNUNET_OK == res_lp) && (GNUNET_OK == res_mip))
     {
       GNUNET_CONTAINER_multipeermap_iterate(mlp->addresses,
           &mlp_propagate_results, mlp);
     }
+  notify(mlp, GAS_OP_SOLVE_UPDATE_NOTIFICATION_STOP,
+      (GNUNET_OK == res_lp) && (GNUNET_OK == res_mip) ? GAS_STAT_SUCCESS : 
GAS_STAT_FAIL,
+      GAS_INFO_NONE);
 
   struct GNUNET_TIME_Absolute time = GNUNET_TIME_absolute_get();
   if (GNUNET_YES == mlp->write_mip_mps)

Modified: gnunet/src/ats/perf_ats_solver.c
===================================================================
--- gnunet/src/ats/perf_ats_solver.c    2013-11-07 09:49:16 UTC (rev 30591)
+++ gnunet/src/ats/perf_ats_solver.c    2013-11-07 09:59:42 UTC (rev 30592)
@@ -435,6 +435,7 @@
       add_info = "GAS_INFO_PROP_SINGLE";
       break;
     default:
+      add_info = "INVALID";
       break;
   }
 
@@ -518,7 +519,7 @@
           ph.current_result->s_setup, ph.current_result->e_setup);
       return;
 
-    case GAS_OP_SOLVE_LP_START:
+    case GAS_OP_SOLVE_MLP_LP_START:
       GNUNET_log(GNUNET_ERROR_TYPE_DEBUG,
           "Solver notifies `%s' with result `%s'\n", "GAS_OP_SOLVE_LP_START",
           (GAS_STAT_SUCCESS == stat) ? "SUCCESS" : "FAIL");
@@ -529,7 +530,7 @@
       }
       ph.current_result->s_lp = GNUNET_TIME_absolute_get ();
       return;
-    case GAS_OP_SOLVE_LP_STOP:
+    case GAS_OP_SOLVE_MLP_LP_STOP:
       GNUNET_log(GNUNET_ERROR_TYPE_DEBUG,
           "Solver notifies `%s' with result `%s'\n", "GAS_OP_SOLVE_LP_STOP",
           (GAS_STAT_SUCCESS == stat) ? "SUCCESS" : "FAIL");
@@ -543,7 +544,7 @@
           ph.current_result->s_lp, ph.current_result->e_lp);
       return;
 
-    case GAS_OP_SOLVE_MLP_START:
+    case GAS_OP_SOLVE_MLP_MLP_START:
       GNUNET_log(GNUNET_ERROR_TYPE_DEBUG,
           "Solver notifies `%s' with result `%s'\n", "GAS_OP_SOLVE_MLP_START",
           (GAS_STAT_SUCCESS == stat) ? "SUCCESS" : "FAIL");
@@ -554,7 +555,7 @@
       }
       ph.current_result->s_mlp = GNUNET_TIME_absolute_get ();
       return;
-    case GAS_OP_SOLVE_MLP_STOP:
+    case GAS_OP_SOLVE_MLP_MLP_STOP:
       GNUNET_log(GNUNET_ERROR_TYPE_DEBUG,
           "Solver notifies `%s' with result `%s'\n", "GAS_OP_SOLVE_MLP_STOP",
           (GAS_STAT_SUCCESS == stat) ? "SUCCESS" : "FAIL");
@@ -567,7 +568,16 @@
       ph.current_result->d_mlp = GNUNET_TIME_absolute_get_difference (
       ph.current_result->s_mlp, ph.current_result->e_mlp);
       return;
-
+    case GAS_OP_SOLVE_UPDATE_NOTIFICATION_START:
+      GNUNET_log(GNUNET_ERROR_TYPE_DEBUG,
+          "Solver notifies `%s' with result `%s'\n", 
"GAS_OP_SOLVE_UPDATE_NOTIFICATION_START",
+          (GAS_STAT_SUCCESS == stat) ? "SUCCESS" : "FAIL");
+      return;
+    case GAS_OP_SOLVE_UPDATE_NOTIFICATION_STOP:
+      GNUNET_log(GNUNET_ERROR_TYPE_DEBUG,
+          "Solver notifies `%s' with result `%s'\n", 
"GAS_OP_SOLVE_UPDATE_NOTIFICATION_STOP",
+          (GAS_STAT_SUCCESS == stat) ? "SUCCESS" : "FAIL");
+      return;
     default:
       break;
     }
@@ -616,6 +626,8 @@
         template = GNUPLOT_RIL_UPDATE_TEMPLATE;
       break;
     default:
+      GNUNET_break (0);
+      return;
       break;
   }
   if (GNUNET_SYSERR == GNUNET_DISK_file_write(f, template, strlen(template)))
@@ -674,6 +686,8 @@
   char * str_d_lp;
   char * str_d_mlp;
 
+  f_full = NULL;
+  f_update = NULL;
   if (ph.create_plot)
   {
     GNUNET_asprintf (&data_fn_full, "perf_%s_full_%u_%u_%u.data", 
ph.ats_string, ph.N_peers_start, ph.N_peers_end, ph.N_address);
@@ -787,13 +801,13 @@
 
   if (GNUNET_YES == ph.create_plot)
   {
-    if (GNUNET_SYSERR == GNUNET_DISK_file_close(f_full))
+    if ((NULL == f_full) || (GNUNET_SYSERR == GNUNET_DISK_file_close(f_full)))
       GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "Cannot close log file `%s'\n", 
data_fn_full);
     GNUNET_free (data_fn_full);
   }
   if ((ph.create_plot) && (GNUNET_YES == ph.measure_updates))
   {
-    if (GNUNET_SYSERR == GNUNET_DISK_file_close(f_update))
+      if ((NULL == f_update) || (GNUNET_SYSERR == 
GNUNET_DISK_file_close(f_update)))
       GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "Cannot close log file `%s'\n", 
data_fn_update);
     GNUNET_free (data_fn_update);
   }




reply via email to

[Prev in Thread] Current Thread [Next in Thread]