[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);
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] r34141 - gnunet/src/sensor,
gnunet <=