gnunet-svn
[Top][All Lists]
Advanced

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

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


From: gnunet
Subject: [GNUnet-SVN] r32310 - in gnunet/src/ats: . experiments
Date: Tue, 11 Feb 2014 17:32:12 +0100

Author: wachs
Date: 2014-02-11 17:32:11 +0100 (Tue, 11 Feb 2014)
New Revision: 32310

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


Modified: gnunet/src/ats/experiments/set_preference.exp
===================================================================
--- gnunet/src/ats/experiments/set_preference.exp       2014-02-11 14:07:59 UTC 
(rev 32309)
+++ gnunet/src/ats/experiments/set_preference.exp       2014-02-11 16:32:11 UTC 
(rev 32310)
@@ -37,7 +37,7 @@
 
 [episode-1]
 # Set delay
-duration = 5 s
+duration = 1 s
 
 op-0-operation = start_set_preference
 op-0-address-id = 0

Modified: gnunet/src/ats/gnunet-ats-solver-eval.c
===================================================================
--- gnunet/src/ats/gnunet-ats-solver-eval.c     2014-02-11 14:07:59 UTC (rev 
32309)
+++ gnunet/src/ats/gnunet-ats-solver-eval.c     2014-02-11 16:32:11 UTC (rev 
32310)
@@ -60,6 +60,11 @@
  */
 static int opt_verbose;
 
+/**
+ * cmd option -p: print logs
+ */
+static int opt_print;
+
 static int res;
 
 static void
@@ -133,14 +138,28 @@
  * Logging
  */
 
+void
+GNUNET_ATS_solver_logging_now (struct LoggingHandle *l)
+{
+  struct LoggingTimeStep *lts;
+  GNUNET_log (GNUNET_ERROR_TYPE_INFO, "Logging\n");
+
+  lts = GNUNET_new (struct LoggingTimeStep);
+  lts->timestamp = GNUNET_TIME_absolute_get();
+
+  /* Store logging data here */
+
+  GNUNET_CONTAINER_DLL_insert_tail(l->head, l->tail, lts);
+
+}
+
 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");
+  GNUNET_ATS_solver_logging_now (l);
 
   l->logging_task = GNUNET_SCHEDULER_add_delayed (l->log_freq, &logging_task, 
l);
 
@@ -164,12 +183,6 @@
 }
 
 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)
@@ -183,15 +196,32 @@
 void
 GNUNET_ATS_solver_logging_eval (struct LoggingHandle *l)
 {
+  struct LoggingTimeStep *lts;
 
+  for (lts = l->head; NULL != lts; lts = lts->next)
+  {
+    fprintf (stderr, "Log %llu: \n", (long long unsigned int) 
lts->timestamp.abs_value_us);
+  }
 }
 
 void
 GNUNET_ATS_solver_logging_free (struct LoggingHandle *l)
 {
+  struct LoggingTimeStep *cur;
+  struct LoggingTimeStep *next;
+
   if (GNUNET_SCHEDULER_NO_TASK != l->logging_task)
     GNUNET_SCHEDULER_cancel (l->logging_task);
   l->logging_task = GNUNET_SCHEDULER_NO_TASK;
+
+  next = l->head;
+  while (NULL != (cur = next))
+  {
+    next = cur->next;
+    GNUNET_CONTAINER_DLL_remove (l->head, l->tail, cur);
+    GNUNET_free (cur);
+  }
+
   GNUNET_free (l);
 }
 
@@ -1717,7 +1747,6 @@
         "Deleting address for unknown peer %u\n", op->peer_id);
     return;
   }
-  GNUNET_CONTAINER_DLL_remove (p->addr_head, p->addr_tail, a);
 
   GNUNET_CONTAINER_multipeermap_remove (sh->addresses, &p->peer_id, ctx.res);
 
@@ -2472,6 +2501,9 @@
     e = NULL;
   }
 
+  if (opt_print)
+    GNUNET_ATS_solver_logging_eval (l);
+
   if (NULL != l)
   {
     GNUNET_ATS_solver_logging_free (l);
@@ -2492,7 +2524,6 @@
     }
     GNUNET_free (cur);
   }
-
   if (NULL != sh)
   {
     GNUNET_ATS_solvers_solver_stop (sh);
@@ -2500,7 +2531,6 @@
   }
   /* Shutdown */
   end_now();
-
 }
 
 static void
@@ -2512,19 +2542,6 @@
   else
     GNUNET_log (GNUNET_ERROR_TYPE_INFO, "Experiment failed \n");
 
-
-  /*
-  evaluate (duration);
-  if (opt_log)
-    GNUNET_ATS_TEST_logging_write_to_file(l, opt_exp_file, opt_plot);
-
-  if (NULL != l)
-  {
-    GNUNET_ATS_TEST_logging_stop (l);
-    GNUNET_ATS_TEST_logging_clean_up (l);
-    l = NULL;
-  }
-  */
   GNUNET_SCHEDULER_add_now (&done, NULL);
 }
 
@@ -2654,6 +2671,9 @@
     {  'e', "experiment", NULL,
       gettext_noop ("experiment to use"),
       1, &GNUNET_GETOPT_set_one, &opt_verbose},
+    {  'p', "print", NULL,
+      gettext_noop ("print logging"),
+      0, &GNUNET_GETOPT_set_one, &opt_print},
     GNUNET_GETOPT_OPTION_END
   };
 

Modified: gnunet/src/ats/gnunet-ats-solver-eval.h
===================================================================
--- gnunet/src/ats/gnunet-ats-solver-eval.h     2014-02-11 14:07:59 UTC (rev 
32309)
+++ gnunet/src/ats/gnunet-ats-solver-eval.h     2014-02-11 16:32:11 UTC (rev 
32310)
@@ -83,6 +83,15 @@
 };
 
 
+struct LoggingTimeStep
+{
+  struct LoggingTimeStep *prev;
+  struct LoggingTimeStep *next;
+
+  struct GNUNET_TIME_Absolute timestamp;
+};
+
+
 struct TestPeer
 {
   struct TestPeer *prev;
@@ -157,6 +166,10 @@
 {
   GNUNET_SCHEDULER_TaskIdentifier logging_task;
   struct GNUNET_TIME_Relative log_freq;
+
+  struct LoggingTimeStep *head;
+
+  struct LoggingTimeStep *tail;
 };
 
 struct Experiment




reply via email to

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