[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
{
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] r32290 - in gnunet/src/ats: . experiments,
gnunet <=