gnunet-svn
[Top][All Lists]
Advanced

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

[GNUnet-SVN] r32100 - gnunet/src/ats-tests


From: gnunet
Subject: [GNUnet-SVN] r32100 - gnunet/src/ats-tests
Date: Thu, 30 Jan 2014 10:32:01 +0100

Author: wachs
Date: 2014-01-30 10:32:01 +0100 (Thu, 30 Jan 2014)
New Revision: 32100

Modified:
   gnunet/src/ats-tests/ats-testing-experiment.c
   gnunet/src/ats-tests/ats-testing-log.c
   gnunet/src/ats-tests/ats-testing.h
   gnunet/src/ats-tests/gnunet-ats-sim.c
   gnunet/src/ats-tests/perf_ats.c
   gnunet/src/ats-tests/perf_ats.h
Log:
fix and improved logging


Modified: gnunet/src/ats-tests/ats-testing-experiment.c
===================================================================
--- gnunet/src/ats-tests/ats-testing-experiment.c       2014-01-30 09:20:25 UTC 
(rev 32099)
+++ gnunet/src/ats-tests/ats-testing-experiment.c       2014-01-30 09:32:01 UTC 
(rev 32100)
@@ -259,6 +259,12 @@
   e->experiment_timeout_task = GNUNET_SCHEDULER_NO_TASK;
   fprintf (stderr, "Experiment timeout!\n");
 
+  if (GNUNET_SCHEDULER_NO_TASK != e->episode_timeout_task)
+  {
+    e->episode_timeout_task = GNUNET_SCHEDULER_NO_TASK;
+    GNUNET_SCHEDULER_cancel (e->episode_timeout_task);
+  }
+
   e->e_done_cb (e, GNUNET_TIME_absolute_get_duration(e->start_time),
       GNUNET_SYSERR);
 }
@@ -319,7 +325,8 @@
 {
   struct Experiment *e = cls;
   e->episode_timeout_task = GNUNET_SCHEDULER_NO_TASK;
-  e->ep_done_cb (e->cur);
+  if (NULL != e->ep_done_cb)
+    e->ep_done_cb (e->cur);
 
   /* Scheduling next */
   e->cur = e->cur->next;

Modified: gnunet/src/ats-tests/ats-testing-log.c
===================================================================
--- gnunet/src/ats-tests/ats-testing-log.c      2014-01-30 09:20:25 UTC (rev 
32099)
+++ gnunet/src/ats-tests/ats-testing-log.c      2014-01-30 09:32:01 UTC (rev 
32100)
@@ -668,10 +668,7 @@
 void
 GNUNET_ATS_TEST_logging_stop (struct LoggingHandle *l)
 {
-  int c_m;
   struct GNUNET_SCHEDULER_TaskContext tc;
-  struct PeerLoggingTimestep *cur;
-
   if (GNUNET_YES!= l->running)
     return;
 
@@ -680,11 +677,26 @@
   l->log_task = GNUNET_SCHEDULER_NO_TASK;
   tc.reason = GNUNET_SCHEDULER_REASON_SHUTDOWN;
   collect_log_task (l, &tc);
+  l->running = GNUNET_NO;
 
   GNUNET_log(GNUNET_ERROR_TYPE_INFO,
       _("Stop logging\n"));
+}
 
+/**
+ * Clean up logging data
+ *
+ * @param l the logging handle
+ */
+void
+GNUNET_ATS_TEST_logging_clean_up (struct LoggingHandle *l)
+{
+  int c_m;
+  struct PeerLoggingTimestep *cur;
 
+  if (GNUNET_YES == l->running)
+    GNUNET_ATS_TEST_logging_stop (l);
+
   for (c_m = 0; c_m < l->num_peers; c_m++)
   {
     while (NULL != (cur = l->lp[c_m].head))

Modified: gnunet/src/ats-tests/ats-testing.h
===================================================================
--- gnunet/src/ats-tests/ats-testing.h  2014-01-30 09:20:25 UTC (rev 32099)
+++ gnunet/src/ats-tests/ats-testing.h  2014-01-30 09:32:01 UTC (rev 32100)
@@ -567,6 +567,14 @@
  * @param l the logging handle
  */
 void
+GNUNET_ATS_TEST_logging_clean_up (struct LoggingHandle *l);
+
+/**
+ * Stop logging
+ *
+ * @param l the logging handle
+ */
+void
 GNUNET_ATS_TEST_logging_stop (struct LoggingHandle *l);
 
 /**

Modified: gnunet/src/ats-tests/gnunet-ats-sim.c
===================================================================
--- gnunet/src/ats-tests/gnunet-ats-sim.c       2014-01-30 09:20:25 UTC (rev 
32099)
+++ gnunet/src/ats-tests/gnunet-ats-sim.c       2014-01-30 09:32:01 UTC (rev 
32100)
@@ -37,6 +37,16 @@
 static struct BenchmarkPeer *masters_p;
 static struct BenchmarkPeer *slaves_p;
 
+/**
+ * cmd option -e: experiment file
+ */
+static char *opt_exp_file;
+
+/**
+ * cmd option -l: enable logging
+ */
+static int opt_log;
+
 GNUNET_SCHEDULER_TaskIdentifier timeout_task;
 
 struct Experiment *e;
@@ -151,11 +161,14 @@
   /* Stop logging */
   GNUNET_ATS_TEST_logging_stop (l);
   evaluate (duration);
+  if (opt_log)
+    GNUNET_ATS_TEST_logging_write_to_file(l, opt_exp_file);
 
   /* Stop traffic generation */
   GNUNET_ATS_TEST_generate_traffic_stop_all();
   /* Clean up experiment */
   GNUNET_ATS_TEST_experimentation_stop (e);
+  GNUNET_ATS_TEST_logging_clean_up (l);
   e = NULL;
 
   /* Shutdown topology */
@@ -179,8 +192,10 @@
   masters_p = masters;
   slaves_p = slaves;
 
-  l = GNUNET_ATS_TEST_logging_start (GNUNET_TIME_UNIT_SECONDS, e->name,
-      masters_p, e->num_masters);
+  l = GNUNET_ATS_TEST_logging_start (GNUNET_TIME_UNIT_SECONDS,
+      e->name,
+      masters_p,
+      e->num_masters);
   GNUNET_ATS_TEST_experimentation_run (e, &episode_done_cb, 
&experiment_done_cb);
 
   for (c_m = 0; c_m < e->num_masters; c_m++)
@@ -199,9 +214,6 @@
       e->max_duration), &do_shutdown, NULL);
 }
 
-static char *opt_exp_file;
-static int opt_log;
-
 static void
 parse_args (int argc, char *argv[])
 {
@@ -236,7 +248,6 @@
 
   fprintf (stderr, "Loading experiment `%s' \n", opt_exp_file );
   e = GNUNET_ATS_TEST_experimentation_load (opt_exp_file);
-  GNUNET_free (opt_exp_file);
   if (NULL == e)
   {
     fprintf (stderr, "Invalid experiment\n");
@@ -257,6 +268,7 @@
       NULL,
       &transport_recv_cb,
       &log_request__cb);
+  GNUNET_free (opt_exp_file);
   return 0;
 }
 /* end of file gnunet-ats-sim.c */

Modified: gnunet/src/ats-tests/perf_ats.c
===================================================================
--- gnunet/src/ats-tests/perf_ats.c     2014-01-30 09:20:25 UTC (rev 32099)
+++ gnunet/src/ats-tests/perf_ats.c     2014-01-30 09:32:01 UTC (rev 32100)
@@ -192,7 +192,7 @@
 {
 
   if (GNUNET_YES == logging)
-    GNUNET_ATS_TEST_logging_stop(l);
+    GNUNET_ATS_TEST_logging_clean_up(l);
 
   shutdown_task = GNUNET_SCHEDULER_NO_TASK;
   if (GNUNET_SCHEDULER_NO_TASK != progress_task)

Modified: gnunet/src/ats-tests/perf_ats.h
===================================================================
--- gnunet/src/ats-tests/perf_ats.h     2014-01-30 09:20:25 UTC (rev 32099)
+++ gnunet/src/ats-tests/perf_ats.h     2014-01-30 09:32:01 UTC (rev 32100)
@@ -251,7 +251,7 @@
 GNUNET_ATS_TEST_logging_now (void);
 
 void
-GNUNET_ATS_TEST_logging_stop ();
+GNUNET_ATS_TEST_logging_clean_up ();
 
 void
 GNUNET_ATS_TEST_logging_start (struct GNUNET_TIME_Relative log_frequency,




reply via email to

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