gnunet-svn
[Top][All Lists]
Advanced

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

[GNUnet-SVN] r32290 - in gnunet/src/ats: . experiments


From: gnunet
Subject: [GNUnet-SVN] r32290 - in gnunet/src/ats: . experiments
Date: Tue, 11 Feb 2014 09:08:38 +0100

Author: wachs
Date: 2014-02-11 09:08:37 +0100 (Tue, 11 Feb 2014)
New Revision: 32290

Modified:
   gnunet/src/ats/experiments/example.exp
   gnunet/src/ats/gnunet-ats-solver-eval.c
   gnunet/src/ats/gnunet-ats-solver-eval.h
Log:
logging task


Modified: gnunet/src/ats/experiments/example.exp
===================================================================
--- gnunet/src/ats/experiments/example.exp      2014-02-11 07:49:32 UTC (rev 
32289)
+++ gnunet/src/ats/experiments/example.exp      2014-02-11 08:08:37 UTC (rev 
32290)
@@ -3,7 +3,7 @@
  masters = 1
  slaves = 2
  max_duration = 15 s
- log_freq = 100 ms
+ log_freq = 1000 ms
  cfg_file = gnunet_ats_sim_default.conf
  
 [episode-0]

Modified: gnunet/src/ats/gnunet-ats-solver-eval.c
===================================================================
--- gnunet/src/ats/gnunet-ats-solver-eval.c     2014-02-11 07:49:32 UTC (rev 
32289)
+++ gnunet/src/ats/gnunet-ats-solver-eval.c     2014-02-11 08:08:37 UTC (rev 
32290)
@@ -32,6 +32,8 @@
 
 static struct Experiment *e;
 
+static struct LoggingHandle *l;
+
 static struct GNUNET_ATS_TESTING_SolverHandle *sh;
 
 /**
@@ -80,6 +82,72 @@
 }
 
 /**
+ * Logging
+ */
+
+static void
+logging_task (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
+{
+  struct LoggingHandle *l = cls;
+
+  l->logging_task = GNUNET_SCHEDULER_NO_TASK;
+
+  GNUNET_log (GNUNET_ERROR_TYPE_INFO, "Logging\n");
+
+  l->logging_task = GNUNET_SCHEDULER_add_delayed (l->log_freq, &logging_task, 
l);
+
+}
+
+struct LoggingHandle *
+GNUNET_ATS_solver_logging_start (struct GNUNET_TIME_Relative freq)
+{
+  struct LoggingHandle *l;
+  l = GNUNET_new (struct LoggingHandle);
+
+  GNUNET_log (GNUNET_ERROR_TYPE_INFO, "Start logging every  %s\n",
+      GNUNET_STRINGS_relative_time_to_string(freq, GNUNET_NO));
+
+  /* Iterate over peers */
+
+  l->log_freq = freq;
+  l->logging_task = GNUNET_SCHEDULER_add_now (&logging_task, l);
+
+  return l;
+}
+
+void
+GNUNET_ATS_solver_logging_now (struct LoggingHandle *l)
+{
+  GNUNET_log (GNUNET_ERROR_TYPE_INFO, "Logging\n");
+}
+
+void
+GNUNET_ATS_solver_logging_stop (struct LoggingHandle *l)
+{
+  if (GNUNET_SCHEDULER_NO_TASK != l->logging_task)
+    GNUNET_SCHEDULER_cancel (l->logging_task);
+
+  GNUNET_log (GNUNET_ERROR_TYPE_INFO, "Stop logging\n");
+
+  l->logging_task = GNUNET_SCHEDULER_NO_TASK;
+}
+
+void
+GNUNET_ATS_solver_logging_eval (struct LoggingHandle *l)
+{
+
+}
+
+void
+GNUNET_ATS_solver_logging_free (struct LoggingHandle *l)
+{
+  if (GNUNET_SCHEDULER_NO_TASK != l->logging_task)
+    GNUNET_SCHEDULER_cancel (l->logging_task);
+  l->logging_task = GNUNET_SCHEDULER_NO_TASK;
+  GNUNET_free (l);
+}
+
+/**
  * Property Generators
  */
 
@@ -145,8 +213,7 @@
 
 
 static void
-set_prop_task (void *cls,
-                    const struct GNUNET_SCHEDULER_TaskContext *tc)
+set_prop_task (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
 {
   struct PropertyGenerator *pg = cls;
   double pref_value;
@@ -1725,9 +1792,6 @@
     GNUNET_free (pg);
   }
 
-  fprintf (stderr, "ENFORECE: %s, %u\n", print_generator_type (op->gen_type),
-      op->base_rate);
-
   GNUNET_ATS_solver_generate_preferences_start (op->peer_id,
     op->address_id,
     op->gen_type,
@@ -2333,9 +2397,19 @@
 {
   /* Clean up experiment */
   GNUNET_ATS_solver_generate_preferences_stop_all ();
-  GNUNET_ATS_solvers_experimentation_stop (e);
-  e = NULL;
 
+  if (NULL != e)
+  {
+    GNUNET_ATS_solvers_experimentation_stop (e);
+    e = NULL;
+  }
+
+  if (NULL != l)
+  {
+    GNUNET_ATS_solver_logging_free (l);
+    l = NULL;
+  }
+
   /* Shutdown */
   end_now();
 
@@ -2351,7 +2425,7 @@
     GNUNET_log (GNUNET_ERROR_TYPE_INFO, "Experiment failed \n");
 
   /* Stop logging */
-  // GNUNET_ATS_TEST_logging_stop (l);
+  GNUNET_ATS_solver_logging_stop (l);
 
   /* Stop traffic generation */
   // GNUNET_ATS_TEST_generate_traffic_stop_all();
@@ -2452,7 +2526,6 @@
     return;
   }
 
-
   /* load solver */
   sh = GNUNET_ATS_solvers_solver_start (solver);
   if (NULL == sh)
@@ -2464,8 +2537,8 @@
   }
 
   /* start logging */
+  l = GNUNET_ATS_solver_logging_start (e->log_freq);
 
-
   /* run experiment */
   GNUNET_ATS_solvers_experimentation_run (e, episode_done_cb,
       experiment_done_cb);

Modified: gnunet/src/ats/gnunet-ats-solver-eval.h
===================================================================
--- gnunet/src/ats/gnunet-ats-solver-eval.h     2014-02-11 07:49:32 UTC (rev 
32289)
+++ gnunet/src/ats/gnunet-ats-solver-eval.h     2014-02-11 08:08:37 UTC (rev 
32290)
@@ -82,7 +82,7 @@
   struct GNUNET_TIME_Relative frequency;
 
   enum OperationType type;
-  enum GeneratorType tg_type;
+  enum GeneratorType gen_type;
   enum GNUNET_ATS_PreferenceKind pref_type;
   enum GNUNET_ATS_Property prop_type;
 };
@@ -97,6 +97,11 @@
   struct GNUNET_ATS_TEST_Operation *tail;
 };
 
+struct LoggingHandle
+{
+  GNUNET_SCHEDULER_TaskIdentifier logging_task;
+  struct GNUNET_TIME_Relative log_freq;
+};
 
 struct Experiment
 {




reply via email to

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