gnunet-svn
[Top][All Lists]
Advanced

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

[GNUnet-SVN] r34141 - gnunet/src/sensor


From: gnunet
Subject: [GNUnet-SVN] r34141 - gnunet/src/sensor
Date: Mon, 11 Aug 2014 17:29:49 +0200

Author: otarabai
Date: 2014-08-11 17:29:49 +0200 (Mon, 11 Aug 2014)
New Revision: 34141

Modified:
   gnunet/src/sensor/gnunet-service-sensor.c
   gnunet/src/sensor/gnunet-service-sensor_monitoring.c
   gnunet/src/sensor/gnunet-service-sensor_reporting.c
   gnunet/src/sensor/sensor.conf.in
   gnunet/src/sensor/sensor.h
Log:
sensor: starting modules controllable from config


Modified: gnunet/src/sensor/gnunet-service-sensor.c
===================================================================
--- gnunet/src/sensor/gnunet-service-sensor.c   2014-08-11 15:04:11 UTC (rev 
34140)
+++ gnunet/src/sensor/gnunet-service-sensor.c   2014-08-11 15:29:49 UTC (rev 
34141)
@@ -42,8 +42,28 @@
  */
 static struct GNUNET_CONTAINER_MultiHashMap *sensors;
 
+/**
+ * Start the monitoring module ?
+ */
+static int start_monitoring;
 
 /**
+ * Start the analysis module ?
+ */
+static int start_analysis;
+
+/**
+ * Start the reporting module ?
+ */
+static int start_reporting;
+
+/**
+ * Start the update module ?
+ */
+static int start_update;
+
+
+/**
  * Resets the service by stopping components, reloading sensors and starting
  * components. This is needed when we receive new sensor updates.
  */
@@ -57,10 +77,14 @@
 static void
 stop ()
 {
-  SENSOR_update_stop ();
-  SENSOR_analysis_stop ();
-  SENSOR_reporting_stop ();
-  SENSOR_monitoring_stop ();
+  if (GNUNET_YES == start_update)
+    SENSOR_update_stop ();
+  if (GNUNET_YES == start_analysis)
+    SENSOR_analysis_stop ();
+  if (GNUNET_YES == start_reporting)
+    SENSOR_reporting_stop ();
+  if (GNUNET_YES == start_monitoring)
+    SENSOR_monitoring_stop ();
   GNUNET_SENSOR_destroy_sensors (sensors);
 }
 
@@ -230,10 +254,14 @@
 start ()
 {
   sensors = GNUNET_SENSOR_load_all_sensors (sensor_dir);
-  SENSOR_monitoring_start (cfg, sensors);
-  SENSOR_reporting_start (cfg, sensors);
-  SENSOR_analysis_start (cfg, sensors);
-  SENSOR_update_start (cfg, sensors, &reset);
+  if (GNUNET_YES == start_monitoring)
+    SENSOR_monitoring_start (cfg, sensors);
+  if (GNUNET_YES == start_reporting)
+    SENSOR_reporting_start (cfg, sensors);
+  if (GNUNET_YES == start_analysis)
+    SENSOR_analysis_start (cfg, sensors);
+  if (GNUNET_YES == start_update)
+    SENSOR_update_start (cfg, sensors, &reset);
 }
 
 
@@ -263,6 +291,30 @@
   {
     sensor_dir = GNUNET_SENSOR_get_default_sensor_dir ();
   }
+  start_monitoring = GNUNET_YES;
+  start_analysis = GNUNET_YES;
+  start_reporting = GNUNET_YES;
+  start_update = GNUNET_YES;
+  if (GNUNET_NO ==
+      GNUNET_CONFIGURATION_get_value_yesno (cfg, "SENSOR", "START_MONITORING"))
+  {
+    start_monitoring = GNUNET_NO;
+  }
+  if (GNUNET_NO ==
+      GNUNET_CONFIGURATION_get_value_yesno (cfg, "SENSOR", "START_REPORTING"))
+  {
+    start_reporting = GNUNET_NO;
+  }
+  if (GNUNET_NO ==
+      GNUNET_CONFIGURATION_get_value_yesno (cfg, "SENSOR", "START_ANALYSIS"))
+  {
+    start_analysis = GNUNET_NO;
+  }
+  if (GNUNET_NO ==
+      GNUNET_CONFIGURATION_get_value_yesno (cfg, "SENSOR", "START_UPDATE"))
+  {
+    start_update = GNUNET_NO;
+  }
   GNUNET_SERVER_add_handlers (server, handlers);
   GNUNET_SCHEDULER_add_delayed (GNUNET_TIME_UNIT_FOREVER_REL, &shutdown_task,
                                 NULL);

Modified: gnunet/src/sensor/gnunet-service-sensor_monitoring.c
===================================================================
--- gnunet/src/sensor/gnunet-service-sensor_monitoring.c        2014-08-11 
15:04:11 UTC (rev 34140)
+++ gnunet/src/sensor/gnunet-service-sensor_monitoring.c        2014-08-11 
15:29:49 UTC (rev 34141)
@@ -98,7 +98,7 @@
 set_sensor_enabled (struct GNUNET_SENSOR_SensorInfo *sensor, int state)
 {
   LOG (GNUNET_ERROR_TYPE_DEBUG, "Sensor `%s': Setting enabled to %d.\n",
-              sensor->name, state);
+       sensor->name, state);
   sensor->enabled = GNUNET_NO;
   GNUNET_assert (NULL != sensor->cfg);
   GNUNET_CONFIGURATION_set_value_string (sensor->cfg, sensor->name, "ENABLED",
@@ -119,8 +119,8 @@
 
   if (GNUNET_NO == sensorinfo->enabled)
   {
-    LOG (GNUNET_ERROR_TYPE_INFO,
-                "Sensor `%s' is disabled, will not run\n", sensorinfo->name);
+    LOG (GNUNET_ERROR_TYPE_INFO, "Sensor `%s' is disabled, will not run\n",
+         sensorinfo->name);
     return GNUNET_NO;
   }
   now = GNUNET_TIME_absolute_get ();
@@ -128,15 +128,15 @@
       now.abs_value_us < sensorinfo->start_time->abs_value_us)
   {
     LOG (GNUNET_ERROR_TYPE_INFO,
-                "Start time for sensor `%s' not reached yet, will not run\n",
-                sensorinfo->name);
+         "Start time for sensor `%s' not reached yet, will not run\n",
+         sensorinfo->name);
     return GNUNET_NO;
   }
   if (NULL != sensorinfo->end_time &&
       now.abs_value_us >= sensorinfo->end_time->abs_value_us)
   {
     LOG (GNUNET_ERROR_TYPE_INFO, "Sensor `%s' expired, disabling.\n",
-                sensorinfo->name);
+         sensorinfo->name);
     set_sensor_enabled (sensorinfo, GNUNET_NO);
     return GNUNET_NO;
   }
@@ -163,8 +163,8 @@
   struct GNUNET_TIME_Absolute expiry;
 
   LOG (GNUNET_ERROR_TYPE_INFO,
-              "Received a value for sensor `%s': %" PRIu64 "\n",
-              sensorinfo->name, value);
+       "Received a value for sensor `%s': %" PRIu64 "\n", sensorinfo->name,
+       value);
   expiry = GNUNET_TIME_relative_to_absolute (sensorinfo->lifetime);
   GNUNET_PEERSTORE_store (peerstore, "sensor", &peerid, sensorinfo->name,
                           &dvalue, sizeof (dvalue), expiry,
@@ -225,8 +225,7 @@
     return strlen (value) + 1;
   }
   LOG (GNUNET_ERROR_TYPE_ERROR,
-              _
-              ("Unknown value type expected by sensor, this should not 
happen.\n"));
+       _("Unknown value type expected by sensor, this should not happen.\n"));
   return 0;
 }
 
@@ -256,13 +255,13 @@
   if (GNUNET_YES == sensorinfo->ext_cmd_value_received)
     return;                     /* We only want one *valid* value */
   LOG (GNUNET_ERROR_TYPE_INFO, "Received a value for sensor `%s': %s\n",
-              sensorinfo->name, line);
+       sensorinfo->name, line);
   valsize = parse_sensor_value (line, sensorinfo, &value);
   if (valsize == 0)             /* invalid value, FIXME: should we disable the 
sensor now? */
   {
     LOG (GNUNET_ERROR_TYPE_ERROR,
-                _("Received an invalid value for sensor `%s': %s\n"),
-                sensorinfo->name, line);
+         _("Received an invalid value for sensor `%s': %s\n"), 
sensorinfo->name,
+         line);
   }
   else
   {
@@ -316,15 +315,15 @@
   if (GNUNET_YES == sensorinfo->running)        //FIXME: should we try to kill?
   {
     LOG (GNUNET_ERROR_TYPE_WARNING,
-                "Sensor `%s' running for too long, will try again next 
interval\n",
-                sensorinfo->name);
+         "Sensor `%s' running for too long, will try again next interval\n",
+         sensorinfo->name);
     return;
   }
   if (GNUNET_NO == should_run_sensor (sensorinfo))
     return;
   sensorinfo->running = GNUNET_YES;
-  LOG (GNUNET_ERROR_TYPE_DEBUG,
-              "Starting the execution of sensor `%s'\n", sensorinfo->name);
+  LOG (GNUNET_ERROR_TYPE_DEBUG, "Starting the execution of sensor `%s'\n",
+       sensorinfo->name);
   if (0 == strcmp ("gnunet-statistics", sensorinfo->source))
   {
     sensorinfo->gnunet_stat_get_handle = GNUNET_STATISTICS_get (statistics, 
sensorinfo->gnunet_stat_service, sensorinfo->gnunet_stat_name, 
sensorinfo->interval,        //try to get values only for the interval of the 
sensor
@@ -337,9 +336,9 @@
     if (GNUNET_YES == is_path (sensorinfo->ext_process))
     {
       LOG (GNUNET_ERROR_TYPE_ERROR,
-                  _
-                  ("Sensor `%s': External process should not be a path, 
disabling sensor.\n"),
-                  sensorinfo->name);
+           _
+           ("Sensor `%s': External process should not be a path, disabling 
sensor.\n"),
+           sensorinfo->name);
       set_sensor_enabled (sensorinfo, GNUNET_NO);
       return;
     }
@@ -361,9 +360,9 @@
     if (GNUNET_SYSERR == check_result)
     {
       LOG (GNUNET_ERROR_TYPE_ERROR,
-                  _
-                  ("Sensor `%s' process `%s' problem: binary doesn't exist or 
not executable\n"),
-                  sensorinfo->name, sensorinfo->ext_process);
+           _
+           ("Sensor `%s' process `%s' problem: binary doesn't exist or not 
executable\n"),
+           sensorinfo->name, sensorinfo->ext_process);
       set_sensor_enabled (sensorinfo, GNUNET_NO);
       sensorinfo->running = GNUNET_NO;
       GNUNET_free (process_path);
@@ -376,7 +375,7 @@
                                sensorinfo->ext_process, sensorinfo->ext_args,
                                NULL);
     LOG (GNUNET_ERROR_TYPE_DEBUG, "Process started for sensor `%s'\n",
-                sensorinfo->name);
+         sensorinfo->name);
     GNUNET_free (process_path);
   }
   else
@@ -405,14 +404,13 @@
   if (GNUNET_NO == should_run_sensor (sensorinfo))
     return GNUNET_YES;
   LOG (GNUNET_ERROR_TYPE_DEBUG,
-              "Scheduling sensor `%s' to run after %" PRIu64 " microseconds\n",
-              sensorinfo->name, sensorinfo->interval.rel_value_us);
+       "Scheduling sensor `%s' to run after %" PRIu64 " microseconds\n",
+       sensorinfo->name, sensorinfo->interval.rel_value_us);
   if (GNUNET_SCHEDULER_NO_TASK != sensorinfo->execution_task)
   {
     LOG (GNUNET_ERROR_TYPE_ERROR,
-                _
-                ("Sensor `%s' execution task already set, this should not 
happen\n"),
-                sensorinfo->name);
+         _("Sensor `%s' execution task already set, this should not happen\n"),
+         sensorinfo->name);
     return GNUNET_NO;
   }
   sensorinfo->execution_task =
@@ -441,7 +439,7 @@
  */
 int
 SENSOR_monitoring_start (const struct GNUNET_CONFIGURATION_Handle *c,
-                       struct GNUNET_CONTAINER_MultiHashMap *s)
+                         struct GNUNET_CONTAINER_MultiHashMap *s)
 {
   LOG (GNUNET_ERROR_TYPE_DEBUG, "Starting sensor reporting module.\n");
   GNUNET_assert (NULL != s);
@@ -449,8 +447,8 @@
   cfg = c;
   statistics = GNUNET_STATISTICS_create ("sensor", cfg);
   if (GNUNET_OK !=
-        GNUNET_CONFIGURATION_get_value_filename (cfg, "SENSOR", "SENSOR_DIR",
-                                                 &sensor_dir))
+      GNUNET_CONFIGURATION_get_value_filename (cfg, "SENSOR", "SENSOR_DIR",
+                                               &sensor_dir))
   {
     sensor_dir = GNUNET_SENSOR_get_default_sensor_dir ();
   }

Modified: gnunet/src/sensor/gnunet-service-sensor_reporting.c
===================================================================
--- gnunet/src/sensor/gnunet-service-sensor_reporting.c 2014-08-11 15:04:11 UTC 
(rev 34140)
+++ gnunet/src/sensor/gnunet-service-sensor_reporting.c 2014-08-11 15:29:49 UTC 
(rev 34141)
@@ -524,7 +524,8 @@
   struct GNUNET_SENSOR_ValueMessage *vm;
   struct GNUNET_MQ_Envelope *ev;
 
-  ev = GNUNET_MQ_msg_extra (vm, vi->last_value_size, 
GNUNET_MESSAGE_TYPE_SENSOR_READING);
+  ev = GNUNET_MQ_msg_extra (vm, vi->last_value_size,
+                            GNUNET_MESSAGE_TYPE_SENSOR_READING);
   GNUNET_CRYPTO_hash (vi->sensor->name, strlen (vi->sensor->name) + 1,
                       &vm->sensorname_hash);
   vm->sensorversion_major = htons (vi->sensor->version_major);
@@ -607,7 +608,7 @@
   }
   /* Send anomaly update to collection point */
   if (NULL != ai->sensor->collection_point &&
-        GNUNET_YES == ai->sensor->report_anomalies)
+      GNUNET_YES == ai->sensor->report_anomalies)
   {
     cadetp = get_cadet_peer (*ai->sensor->collection_point);
     send_anomaly_report (cadetp->mq, ai);
@@ -636,8 +637,7 @@
 
   if (NULL != emsg)
   {
-    LOG (GNUNET_ERROR_TYPE_ERROR,
-        _("PEERSTORE error: %s.\n"), emsg);
+    LOG (GNUNET_ERROR_TYPE_ERROR, _("PEERSTORE error: %s.\n"), emsg);
     return GNUNET_YES;
   }
   if (NULL != vi->last_value)
@@ -647,7 +647,7 @@
   }
   vi->last_value = GNUNET_memdup (record->value, record->value_size);
   vi->last_value_size = record->value_size;
-  vi->last_value_timestamp = GNUNET_TIME_absolute_get();
+  vi->last_value_timestamp = GNUNET_TIME_absolute_get ();
   vi->last_value_reported = GNUNET_NO;
   return GNUNET_YES;
 }
@@ -772,7 +772,7 @@
   struct CadetPeer *cadetp = channel_ctx;
 
   if (GNUNET_YES == cadetp->destroying)
-      return;
+    return;
   GNUNET_CONTAINER_DLL_remove (cadetp_head, cadetp_tail, cadetp);
   cadetp->channel = NULL;
   destroy_cadet_peer (cadetp);
@@ -842,12 +842,10 @@
   vi->reporting_task =
       GNUNET_SCHEDULER_add_delayed (sensor->value_reporting_interval,
                                     &report_value, vi);
-  if (0 == vi->last_value_size ||
-      GNUNET_YES == vi->last_value_reported)
+  if (0 == vi->last_value_size || GNUNET_YES == vi->last_value_reported)
   {
     LOG (GNUNET_ERROR_TYPE_WARNING,
-         "Did not receive a fresh value from `%s' to report.\n",
-         sensor->name);
+         "Did not receive a fresh value from `%s' to report.\n", sensor->name);
     return;
   }
   LOG (GNUNET_ERROR_TYPE_DEBUG,
@@ -883,6 +881,7 @@
 
   /* Create sensor anomaly info context */
   ai = GNUNET_new (struct AnomalyInfo);
+
   ai->sensor = sensor;
   ai->anomalous = GNUNET_NO;
   ai->anomalous_neighbors =
@@ -902,11 +901,11 @@
   vi->last_value_size = 0;
   vi->last_value_reported = GNUNET_NO;
   vi->wc =
-    GNUNET_PEERSTORE_watch (peerstore, "sensor", &mypeerid, sensor->name,
-                            &value_watch_cb, vi);
+      GNUNET_PEERSTORE_watch (peerstore, "sensor", &mypeerid, sensor->name,
+                              &value_watch_cb, vi);
   vi->reporting_task =
-    GNUNET_SCHEDULER_add_delayed (sensor->value_reporting_interval,
-                                  &report_value, vi);
+      GNUNET_SCHEDULER_add_delayed (sensor->value_reporting_interval,
+                                    &report_value, vi);
   GNUNET_CONTAINER_DLL_insert (vi_head, vi_tail, vi);
   return GNUNET_YES;
 }
@@ -921,7 +920,7 @@
  */
 int
 SENSOR_reporting_start (const struct GNUNET_CONFIGURATION_Handle *c,
-                                struct GNUNET_CONTAINER_MultiHashMap *s)
+                        struct GNUNET_CONTAINER_MultiHashMap *s)
 {
   static struct GNUNET_CORE_MessageHandler core_handlers[] = {
     {&handle_anomaly_report, GNUNET_MESSAGE_TYPE_SENSOR_ANOMALY_REPORT,

Modified: gnunet/src/sensor/sensor.conf.in
===================================================================
--- gnunet/src/sensor/sensor.conf.in    2014-08-11 15:04:11 UTC (rev 34140)
+++ gnunet/src/sensor/sensor.conf.in    2014-08-11 15:29:49 UTC (rev 34141)
@@ -5,6 +5,12 @@
 UNIX_MATCH_UID = NO
 UNIX_MATCH_GID = YES
 
+# Which modules to run (default: YES)
+START_MONITORING = YES
+START_REPORTING = YES
+START_ANALYSIS = YES
+STARTING_UPDATE = YES
+
 # Path to directory containing sensor definitions.
 # If not set, will load from default location.
 #SENSOR_DIR = 

Modified: gnunet/src/sensor/sensor.h
===================================================================
--- gnunet/src/sensor/sensor.h  2014-08-11 15:04:11 UTC (rev 34140)
+++ gnunet/src/sensor/sensor.h  2014-08-11 15:29:49 UTC (rev 34141)
@@ -107,7 +107,7 @@
  */
 int
 SENSOR_reporting_start (const struct GNUNET_CONFIGURATION_Handle *c,
-                                struct GNUNET_CONTAINER_MultiHashMap *s);
+                        struct GNUNET_CONTAINER_MultiHashMap *s);
 
 
 /**
@@ -146,4 +146,4 @@
  */
 int
 SENSOR_monitoring_start (const struct GNUNET_CONFIGURATION_Handle *c,
-                       struct GNUNET_CONTAINER_MultiHashMap *s);
+                         struct GNUNET_CONTAINER_MultiHashMap *s);




reply via email to

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