[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] r34122 - in gnunet/src: include sensor sensordashboard
From: |
gnunet |
Subject: |
[GNUnet-SVN] r34122 - in gnunet/src: include sensor sensordashboard |
Date: |
Thu, 7 Aug 2014 14:03:36 +0200 |
Author: otarabai
Date: 2014-08-07 14:03:36 +0200 (Thu, 07 Aug 2014)
New Revision: 34122
Modified:
gnunet/src/include/gnunet_sensor_util_lib.h
gnunet/src/sensor/gnunet-service-sensor.c
gnunet/src/sensor/gnunet-service-sensor_update.c
gnunet/src/sensor/sensor.conf.in
gnunet/src/sensor/sensor_util_lib.c
gnunet/src/sensordashboard/gnunet-service-sensordashboard.c
Log:
minor fix
Modified: gnunet/src/include/gnunet_sensor_util_lib.h
===================================================================
--- gnunet/src/include/gnunet_sensor_util_lib.h 2014-08-07 11:59:05 UTC (rev
34121)
+++ gnunet/src/include/gnunet_sensor_util_lib.h 2014-08-07 12:03:36 UTC (rev
34122)
@@ -351,21 +351,23 @@
/**
- * Reads sensor definitions from local data files
+ * Reads sensor definitions from given sensor directory.
*
+ * @param sensordir Path to sensor directory.
* @return a multihashmap of loaded sensors
*/
struct GNUNET_CONTAINER_MultiHashMap *
-GNUNET_SENSOR_load_all_sensors ();
+GNUNET_SENSOR_load_all_sensors (char *sensor_dir);
-/*
- * Get path to the directory containing the sensor definition files
+/**
+ * Get path to the default directory containing the sensor definition files
with
+ * a trailing directory separator.
*
- * @return sensor files directory string
+ * @return Default sensor files directory full path
*/
char *
-GNUNET_SENSOR_get_sensor_dir ();
+GNUNET_SENSOR_get_default_sensor_dir ();
/**
Modified: gnunet/src/sensor/gnunet-service-sensor.c
===================================================================
--- gnunet/src/sensor/gnunet-service-sensor.c 2014-08-07 11:59:05 UTC (rev
34121)
+++ gnunet/src/sensor/gnunet-service-sensor.c 2014-08-07 12:03:36 UTC (rev
34122)
@@ -36,6 +36,11 @@
static const struct GNUNET_CONFIGURATION_Handle *cfg;
/**
+ * Path to sensor definitions directory
+ */
+static char *sensor_dir;
+
+/**
* Hashmap of loaded sensor definitions
*/
static struct GNUNET_CONTAINER_MultiHashMap *sensors;
@@ -123,6 +128,11 @@
GNUNET_PEERSTORE_disconnect (peerstore, GNUNET_YES);
peerstore = NULL;
}
+ if (NULL != sensor_dir)
+ {
+ GNUNET_free (sensor_dir);
+ sensor_dir = NULL;
+ }
GNUNET_SCHEDULER_shutdown ();
}
@@ -479,7 +489,6 @@
{
struct GNUNET_SENSOR_SensorInfo *sensorinfo = cls;
int check_result;
- char *sensors_dir;
char *process_path;
sensorinfo->execution_task =
@@ -522,12 +531,11 @@
if (GNUNET_SYSERR == check_result)
{
//search in sensor directory
- sensors_dir = GNUNET_SENSOR_get_sensor_dir ();
GNUNET_free (process_path);
- GNUNET_asprintf (&process_path, "%s%s-files%s%s", sensors_dir,
+ GNUNET_asprintf (&process_path, "%s%s-files%s%s", sensor_dir,
sensorinfo->name, DIR_SEPARATOR_STR,
sensorinfo->ext_process);
- GNUNET_free (sensors_dir);
+ GNUNET_free (sensor_dir);
check_result =
GNUNET_OS_check_helper_binary (process_path, GNUNET_NO, NULL);
}
@@ -611,7 +619,7 @@
static void
start ()
{
- sensors = GNUNET_SENSOR_load_all_sensors ();
+ sensors = GNUNET_SENSOR_load_all_sensors (sensor_dir);
schedule_all_sensors ();
SENSOR_reporting_value_start (cfg, sensors);
SENSOR_reporting_anomaly_start (cfg, sensors);
@@ -640,6 +648,10 @@
};
cfg = c;
+ if (GNUNET_OK !=
+ GNUNET_CONFIGURATION_get_value_filename (cfg, "SENSOR", "SENSOR_DIR",
+ &sensor_dir))
+ sensor_dir = GNUNET_SENSOR_get_default_sensor_dir ();
statistics = GNUNET_STATISTICS_create ("sensor", cfg);
GNUNET_CRYPTO_get_peer_identity (cfg, &peerid);
peerstore = GNUNET_PEERSTORE_connect (cfg);
Modified: gnunet/src/sensor/gnunet-service-sensor_update.c
===================================================================
--- gnunet/src/sensor/gnunet-service-sensor_update.c 2014-08-07 11:59:05 UTC
(rev 34121)
+++ gnunet/src/sensor/gnunet-service-sensor_update.c 2014-08-07 12:03:36 UTC
(rev 34122)
@@ -131,6 +131,11 @@
static const struct GNUNET_CONFIGURATION_Handle *cfg;
/**
+ * Path to sensor definition directory
+ */
+static char *sensor_dir;
+
+/**
* Hashmap of known sensors
*/
static struct GNUNET_CONTAINER_MultiHashMap *sensors;
@@ -249,6 +254,11 @@
GNUNET_CADET_disconnect (cadet);
cadet = NULL;
}
+ if (NULL != sensor_dir)
+ {
+ GNUNET_free (sensor_dir);
+ sensor_dir = NULL;
+ }
LOG (GNUNET_ERROR_TYPE_DEBUG, "Sensor update module stopped.\n");
}
@@ -427,7 +437,7 @@
* Function that reads and validates (correctness not connectivity) of
available
* sensor update points.
*
- * @return #GNUNET_OK on success, #GNUNET_SYSERR on failure
+ * @return number of update points loaded successfully
*/
static int
load_update_points ()
@@ -439,14 +449,13 @@
int len;
struct GNUNET_CRYPTO_EddsaPublicKey public_key;
struct UpdatePoint *up;
+ int count = 0;
if (GNUNET_OK !=
GNUNET_CONFIGURATION_get_value_string (cfg, "sensor", "UPDATE_POINTS",
&points_list))
{
- GNUNET_log_config_missing (GNUNET_ERROR_TYPE_ERROR, "sensor",
- "UPDATE_POINTS");
- return GNUNET_SYSERR;
+ return 0;
}
points_list_len = strlen (points_list) + 1;
for (i = 0; i < points_list_len; i++)
@@ -478,11 +487,12 @@
up->expected_sensor_updates = 0;
up->failed = GNUNET_NO;
GNUNET_CONTAINER_DLL_insert (up_head, up_tail, up);
+ count++;
LOG (GNUNET_ERROR_TYPE_DEBUG, "Loaded update point `%s'.\n",
GNUNET_i2s_full (&up->peer_id));
}
GNUNET_free (points_list);
- return (NULL == up_head) ? GNUNET_SYSERR : GNUNET_OK;
+ return count;
}
@@ -598,7 +608,6 @@
update_sensor (char *sensorname, void *sensorfile, uint16_t sensorfile_size,
char *scriptname, void *scriptfile, uint16_t scriptfile_size)
{
- char *sensors_dir;
char *sensor_path;
char *script_path;
@@ -607,8 +616,7 @@
"Sensor file size: %d\n" "Script name: %s\n" "Script file size: %d.\n",
sensorname, sensorfile_size, (NULL == scriptname) ? "None" : scriptname,
scriptfile_size);
- sensors_dir = GNUNET_SENSOR_get_sensor_dir ();
- GNUNET_asprintf (&sensor_path, "%s%s", sensors_dir, sensorname);
+ GNUNET_asprintf (&sensor_path, "%s%s", sensor_dir, sensorname);
GNUNET_DISK_fn_write (sensor_path, sensorfile, sensorfile_size,
GNUNET_DISK_PERM_USER_READ |
GNUNET_DISK_PERM_GROUP_READ
| GNUNET_DISK_PERM_OTHER_READ |
@@ -627,7 +635,6 @@
GNUNET_DISK_PERM_GROUP_EXEC);
GNUNET_free (script_path);
}
- GNUNET_free (sensors_dir);
GNUNET_free (sensor_path);
return GNUNET_OK;
}
@@ -756,11 +763,16 @@
{&handle_sensor_full, GNUNET_MESSAGE_TYPE_SENSOR_FULL, 0},
{NULL, 0, 0}
};
+ int up_count;
GNUNET_assert (NULL != s);
cfg = c;
sensors = s;
reset_cb = cb;
+ if (GNUNET_OK !=
+ GNUNET_CONFIGURATION_get_value_filename (cfg, "SENSOR", "SENSOR_DIR",
+ &sensor_dir))
+ sensor_dir = GNUNET_SENSOR_get_default_sensor_dir ();
cadet =
GNUNET_CADET_connect (cfg, NULL, NULL, &cadet_channel_destroyed,
cadet_handlers, NULL);
@@ -770,9 +782,10 @@
SENSOR_update_stop ();
return GNUNET_SYSERR;
}
- if (GNUNET_OK != load_update_points ())
+ up_count = load_update_points ();
+ LOG (GNUNET_ERROR_TYPE_DEBUG, "Loaded %d update points.\n", up_count);
+ if (0 == up_count)
{
- LOG (GNUNET_ERROR_TYPE_ERROR, "Failed to load update points.\n");
SENSOR_update_stop ();
return GNUNET_SYSERR;
}
Modified: gnunet/src/sensor/sensor.conf.in
===================================================================
--- gnunet/src/sensor/sensor.conf.in 2014-08-07 11:59:05 UTC (rev 34121)
+++ gnunet/src/sensor/sensor.conf.in 2014-08-07 12:03:36 UTC (rev 34122)
@@ -5,8 +5,12 @@
UNIX_MATCH_UID = NO
UNIX_MATCH_GID = YES
+# Path to directory containing sensor definitions.
+# If not set, will load from default location.
+#SENSOR_DIR =
+
# Space separated list of trusted peers running update points
-#UPDATE_POINTS = NCEKA096482PC84GFTG61EHAVXY3BQDTPB5FANATQD5CDADJ2HP0
+UPDATE_POINTS =
[sensor-analysis]
MODEL = gaussian
Modified: gnunet/src/sensor/sensor_util_lib.c
===================================================================
--- gnunet/src/sensor/sensor_util_lib.c 2014-08-07 11:59:05 UTC (rev 34121)
+++ gnunet/src/sensor/sensor_util_lib.c 2014-08-07 12:03:36 UTC (rev 34122)
@@ -290,7 +290,6 @@
sensor->execution_task = GNUNET_SCHEDULER_NO_TASK;
//running
sensor->running = GNUNET_NO;
-
return sensor;
}
@@ -434,14 +433,14 @@
}
-/*
- * Get path to the directory containing the sensor definition files with a
- * trailing directory separator.
+/**
+ * Get path to the default directory containing the sensor definition files
with
+ * a trailing directory separator.
*
- * @return sensor files directory full path
+ * @return Default sensor files directory full path
*/
char *
-GNUNET_SENSOR_get_sensor_dir ()
+GNUNET_SENSOR_get_default_sensor_dir ()
{
char *datadir;
char *sensordir;
@@ -454,27 +453,26 @@
/**
- * Reads sensor definitions from local data files
+ * Reads sensor definitions from given sensor directory.
*
+ * @param sensordir Path to sensor directory.
* @return a multihashmap of loaded sensors
*/
struct GNUNET_CONTAINER_MultiHashMap *
-GNUNET_SENSOR_load_all_sensors ()
+GNUNET_SENSOR_load_all_sensors (char *sensor_dir)
{
- char *sensordir;
struct GNUNET_CONTAINER_MultiHashMap *sensors;
+ GNUNET_assert (NULL != sensor_dir);
sensors = GNUNET_CONTAINER_multihashmap_create (10, GNUNET_NO);
- sensordir = GNUNET_SENSOR_get_sensor_dir ();
LOG (GNUNET_ERROR_TYPE_INFO,
- "Loading sensor definitions from directory `%s'\n", sensordir);
+ "Loading sensor definitions from directory `%s'\n", sensor_dir);
GNUNET_assert (GNUNET_YES ==
- GNUNET_DISK_directory_test (sensordir, GNUNET_YES));
+ GNUNET_DISK_directory_test (sensor_dir, GNUNET_YES));
/* read all files in sensors directory */
- GNUNET_DISK_directory_scan (sensordir, &reload_sensors_dir_cb, sensors);
+ GNUNET_DISK_directory_scan (sensor_dir, &reload_sensors_dir_cb, sensors);
LOG (GNUNET_ERROR_TYPE_INFO, "Loaded %d sensors from directory `%s'\n",
- GNUNET_CONTAINER_multihashmap_size (sensors), sensordir);
- GNUNET_free (sensordir);
+ GNUNET_CONTAINER_multihashmap_size (sensors), sensor_dir);
return sensors;
}
Modified: gnunet/src/sensordashboard/gnunet-service-sensordashboard.c
===================================================================
--- gnunet/src/sensordashboard/gnunet-service-sensordashboard.c 2014-08-07
11:59:05 UTC (rev 34121)
+++ gnunet/src/sensordashboard/gnunet-service-sensordashboard.c 2014-08-07
12:03:36 UTC (rev 34122)
@@ -134,6 +134,11 @@
/**
+ * Path to sensor definition directory
+ */
+static char *sensor_dir;
+
+/**
* Global hashmap of defined sensors
*/
static struct GNUNET_CONTAINER_MultiHashMap *sensors;
@@ -235,6 +240,11 @@
peerstore = NULL;
}
GNUNET_SENSOR_destroy_sensors (sensors);
+ if (NULL != sensor_dir)
+ {
+ GNUNET_free (sensor_dir);
+ sensor_dir = NULL;
+ }
GNUNET_SCHEDULER_shutdown ();
}
@@ -584,7 +594,6 @@
struct GNUNET_HashCode key;
struct GNUNET_SENSOR_SensorInfo *sensor;
struct GNUNET_SENSOR_SensorFullMessage *msg;
- char *sensor_dir;
char *sensor_path;
char *sensorscript_path;
uint64_t sensorname_size;
@@ -598,7 +607,6 @@
sensor = GNUNET_CONTAINER_multihashmap_get (sensors, &key);
if (NULL == sensor)
return NULL;
- sensor_dir = GNUNET_SENSOR_get_sensor_dir ();
GNUNET_asprintf (&sensor_path, "%s%s", sensor_dir, sensorname);
if (GNUNET_OK !=
GNUNET_DISK_file_size (sensor_path, &sensorfile_size, GNUNET_NO,
@@ -646,7 +654,6 @@
GNUNET_DISK_fn_read (sensorscript_path, dummy, sensorscript_size);
GNUNET_free (sensorscript_path);
}
- GNUNET_free (sensor_dir);
GNUNET_free (sensor_path);
return msg;
}
@@ -739,7 +746,12 @@
GNUNET_APPLICATION_TYPE_SENSORUPDATE,
GNUNET_APPLICATION_TYPE_END
};
- sensors = GNUNET_SENSOR_load_all_sensors ();
+
+ if (GNUNET_OK !=
+ GNUNET_CONFIGURATION_get_value_filename (cfg, "SENSOR", "SENSOR_DIR",
+ &sensor_dir))
+ sensor_dir = GNUNET_SENSOR_get_default_sensor_dir ();
+ sensors = GNUNET_SENSOR_load_all_sensors (sensor_dir);
GNUNET_assert (NULL != sensors);
cadet =
GNUNET_CADET_connect (cfg, NULL, &cadet_channel_created,
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] r34122 - in gnunet/src: include sensor sensordashboard,
gnunet <=