aboutsummaryrefslogtreecommitdiff
path: root/src/sensor
diff options
context:
space:
mode:
authorOmar Tarabai <tarabai@devegypt.com>2014-09-01 18:04:41 +0000
committerOmar Tarabai <tarabai@devegypt.com>2014-09-01 18:04:41 +0000
commitf861dd18a5a9fc7a7862d74f68ef378e5d8f9d08 (patch)
treea6b3017dc9c664fe48154b291def683fd9426aa0 /src/sensor
parenta93c09a284751a49a5e8ae18e55dcf9f253343df (diff)
downloadgnunet-f861dd18a5a9fc7a7862d74f68ef378e5d8f9d08.tar.gz
gnunet-f861dd18a5a9fc7a7862d74f68ef378e5d8f9d08.zip
sensor: towards profiler
Diffstat (limited to 'src/sensor')
-rw-r--r--src/sensor/gnunet-sensor-profiler.c35
-rw-r--r--src/sensor/sensor.conf.in2
2 files changed, 31 insertions, 6 deletions
diff --git a/src/sensor/gnunet-sensor-profiler.c b/src/sensor/gnunet-sensor-profiler.c
index e89e0f025..10e0789e0 100644
--- a/src/sensor/gnunet-sensor-profiler.c
+++ b/src/sensor/gnunet-sensor-profiler.c
@@ -70,6 +70,11 @@ static const char *sensor_src_dir = "sensors";
70static const char *sensor_dst_dir = "/tmp/gnunet-sensor-profiler"; 70static const char *sensor_dst_dir = "/tmp/gnunet-sensor-profiler";
71 71
72/** 72/**
73 * GNUnet configuration
74 */
75struct GNUNET_CONFIGURATION_Handle *cfg;
76
77/**
73 * Return value of the program 78 * Return value of the program
74 */ 79 */
75static int ok = 1; 80static int ok = 1;
@@ -150,6 +155,11 @@ do_shutdown (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
150 int i; 155 int i;
151 156
152 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Shutting down.\n"); 157 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Shutting down.\n");
158 if (NULL != cfg)
159 {
160 GNUNET_CONFIGURATION_destroy (cfg);
161 cfg = NULL;
162 }
153 if (NULL != sensor_names) 163 if (NULL != sensor_names)
154 { 164 {
155 for (i = 0; i < sensor_names_size; i++) 165 for (i = 0; i < sensor_names_size; i++)
@@ -252,8 +262,8 @@ sensor_dir_scanner (void *cls, const char *filename)
252 GNUNET_CONFIGURATION_parse (sensor_cfg, filename)); 262 GNUNET_CONFIGURATION_parse (sensor_cfg, filename));
253 GNUNET_CONFIGURATION_set_value_string (sensor_cfg, file_basename, 263 GNUNET_CONFIGURATION_set_value_string (sensor_cfg, file_basename,
254 "COLLECTION_POINT", 264 "COLLECTION_POINT",
255 GNUNET_i2s_full (&all_peers_info[0]. 265 GNUNET_i2s_full (&all_peers_info
256 peer_id)); 266 [0].peer_id));
257 if (sensors_interval > 0) 267 if (sensors_interval > 0)
258 { 268 {
259 GNUNET_CONFIGURATION_set_value_number (sensor_cfg, file_basename, 269 GNUNET_CONFIGURATION_set_value_number (sensor_cfg, file_basename,
@@ -418,7 +428,25 @@ peerstore_disconnect_adapter (void *cls, void *op_result)
418static void 428static void
419peers_ready (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) 429peers_ready (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
420{ 430{
431 unsigned long long int training_points;
432 struct GNUNET_TIME_Relative training_period;
433
421 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "All peers are ready.\n"); 434 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "All peers are ready.\n");
435 GNUNET_assert (GNUNET_OK ==
436 GNUNET_CONFIGURATION_get_value_number (cfg,
437 "sensor-model-gaussian",
438 "TRAINING_WINDOW",
439 &training_points));
440 training_period =
441 GNUNET_TIME_relative_multiply (GNUNET_TIME_relative_multiply
442 (GNUNET_TIME_UNIT_SECONDS,
443 (sensors_interval ==
444 0) ? 60 : sensors_interval),
445 training_points);
446 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
447 "Sleeping for a training period of %s.\n",
448 GNUNET_STRINGS_relative_time_to_string (training_period,
449 GNUNET_NO));
422 //TODO 450 //TODO
423} 451}
424 452
@@ -580,8 +608,6 @@ static void
580run (void *cls, char *const *args, const char *cf, 608run (void *cls, char *const *args, const char *cf,
581 const struct GNUNET_CONFIGURATION_Handle *c) 609 const struct GNUNET_CONFIGURATION_Handle *c)
582{ 610{
583 struct GNUNET_CONFIGURATION_Handle *cfg;
584
585 if (GNUNET_OK != verify_args ()) 611 if (GNUNET_OK != verify_args ())
586 { 612 {
587 do_shutdown (NULL, NULL); 613 do_shutdown (NULL, NULL);
@@ -596,7 +622,6 @@ run (void *cls, char *const *args, const char *cf,
596 GNUNET_SCHEDULER_add_delayed (GNUNET_TIME_UNIT_FOREVER_REL, &do_shutdown, 622 GNUNET_SCHEDULER_add_delayed (GNUNET_TIME_UNIT_FOREVER_REL, &do_shutdown,
597 NULL); 623 NULL);
598 GNUNET_TESTBED_run (NULL, cfg, num_peers, 0, NULL, NULL, &test_master, NULL); 624 GNUNET_TESTBED_run (NULL, cfg, num_peers, 0, NULL, NULL, &test_master, NULL);
599 GNUNET_CONFIGURATION_destroy (cfg);
600} 625}
601 626
602 627
diff --git a/src/sensor/sensor.conf.in b/src/sensor/sensor.conf.in
index f24503a0c..d85fab258 100644
--- a/src/sensor/sensor.conf.in
+++ b/src/sensor/sensor.conf.in
@@ -22,7 +22,7 @@ MODEL = gaussian
22CONFIRMATION_COUNT = 3 22CONFIRMATION_COUNT = 3
23 23
24[sensor-model-gaussian] 24[sensor-model-gaussian]
25TRAINING_WINDOW = 1000 25TRAINING_WINDOW = 10
26CONFIDENCE_INTERVAL = 3 26CONFIDENCE_INTERVAL = 3
27 27
28[sensor-reporting] 28[sensor-reporting]