diff options
author | Omar Tarabai <tarabai@devegypt.com> | 2014-05-28 12:12:10 +0000 |
---|---|---|
committer | Omar Tarabai <tarabai@devegypt.com> | 2014-05-28 12:12:10 +0000 |
commit | 6ea5ae5699ccc2db2f9d294d88fb4cb5aa60f640 (patch) | |
tree | 8675413d8142e3ca0343376d29c361ebdbf350ed /src/sensor | |
parent | e7356fa5d53b2047a1b087fa61ccf15198aeb0bc (diff) | |
download | gnunet-6ea5ae5699ccc2db2f9d294d88fb4cb5aa60f640.tar.gz gnunet-6ea5ae5699ccc2db2f9d294d88fb4cb5aa60f640.zip |
few fixes
Diffstat (limited to 'src/sensor')
-rw-r--r-- | src/sensor/gnunet-service-sensor.c | 30 | ||||
-rw-r--r-- | src/sensor/test_sensor_api.c | 2 |
2 files changed, 12 insertions, 20 deletions
diff --git a/src/sensor/gnunet-service-sensor.c b/src/sensor/gnunet-service-sensor.c index 36f0529dc..07e0ef1f7 100644 --- a/src/sensor/gnunet-service-sensor.c +++ b/src/sensor/gnunet-service-sensor.c | |||
@@ -29,8 +29,6 @@ | |||
29 | #include "sensor.h" | 29 | #include "sensor.h" |
30 | #include "gnunet_statistics_service.h" | 30 | #include "gnunet_statistics_service.h" |
31 | 31 | ||
32 | //TODO: GNUNET_SERVER_receive_done() ? | ||
33 | |||
34 | /** | 32 | /** |
35 | * Minimum sensor execution interval (in seconds) | 33 | * Minimum sensor execution interval (in seconds) |
36 | */ | 34 | */ |
@@ -194,8 +192,6 @@ static const char *datatypes[] = { "uint64", "double", "string", NULL }; | |||
194 | */ | 192 | */ |
195 | struct GNUNET_STATISTICS_Handle *statistics; | 193 | struct GNUNET_STATISTICS_Handle *statistics; |
196 | 194 | ||
197 | //TODO: logging macro that includes sensor info | ||
198 | |||
199 | /** | 195 | /** |
200 | * Remove sensor execution from scheduler | 196 | * Remove sensor execution from scheduler |
201 | * | 197 | * |
@@ -206,7 +202,7 @@ struct GNUNET_STATISTICS_Handle *statistics; | |||
206 | * iterate, | 202 | * iterate, |
207 | * #GNUNET_NO if not. | 203 | * #GNUNET_NO if not. |
208 | */ | 204 | */ |
209 | int unschedule_sensor(void *cls, | 205 | int destroy_sensor(void *cls, |
210 | const struct GNUNET_HashCode *key, void *value) | 206 | const struct GNUNET_HashCode *key, void *value) |
211 | { | 207 | { |
212 | struct SensorInfo *sensorinfo = value; | 208 | struct SensorInfo *sensorinfo = value; |
@@ -222,6 +218,7 @@ int unschedule_sensor(void *cls, | |||
222 | GNUNET_SCHEDULER_cancel(sensorinfo->execution_task); | 218 | GNUNET_SCHEDULER_cancel(sensorinfo->execution_task); |
223 | sensorinfo->execution_task = GNUNET_SCHEDULER_NO_TASK; | 219 | sensorinfo->execution_task = GNUNET_SCHEDULER_NO_TASK; |
224 | } | 220 | } |
221 | GNUNET_free(sensorinfo); | ||
225 | return GNUNET_YES; | 222 | return GNUNET_YES; |
226 | } | 223 | } |
227 | 224 | ||
@@ -235,11 +232,10 @@ static void | |||
235 | shutdown_task (void *cls, | 232 | shutdown_task (void *cls, |
236 | const struct GNUNET_SCHEDULER_TaskContext *tc) | 233 | const struct GNUNET_SCHEDULER_TaskContext *tc) |
237 | { | 234 | { |
238 | GNUNET_CONTAINER_multihashmap_iterate(sensors, &unschedule_sensor, NULL); | 235 | GNUNET_CONTAINER_multihashmap_iterate(sensors, &destroy_sensor, NULL); |
239 | /* Free sensor information */ | 236 | GNUNET_CONTAINER_multihashmap_destroy(sensors); |
240 | if(NULL != statistics) | 237 | if(NULL != statistics) |
241 | GNUNET_STATISTICS_destroy(statistics, GNUNET_YES); | 238 | GNUNET_STATISTICS_destroy(statistics, GNUNET_YES); |
242 | /* Destroy sensor hashmap */ | ||
243 | GNUNET_SCHEDULER_shutdown(); | 239 | GNUNET_SCHEDULER_shutdown(); |
244 | } | 240 | } |
245 | 241 | ||
@@ -371,12 +367,10 @@ load_sensor_from_cfg(struct GNUNET_CONFIGURATION_Handle *cfg, const char *sectio | |||
371 | return NULL; | 367 | return NULL; |
372 | } | 368 | } |
373 | sensor->interval = GNUNET_TIME_relative_multiply(GNUNET_TIME_UNIT_SECONDS, time_sec); | 369 | sensor->interval = GNUNET_TIME_relative_multiply(GNUNET_TIME_UNIT_SECONDS, time_sec); |
374 | GNUNET_log(GNUNET_ERROR_TYPE_DEBUG, "Interval loaded: %" PRIu64 "\n", sensor->interval.rel_value_us); | ||
375 | //lifetime | 370 | //lifetime |
376 | if(GNUNET_OK == GNUNET_CONFIGURATION_get_value_number(cfg, sectionname, "LIFETIME", &time_sec)) | 371 | if(GNUNET_OK == GNUNET_CONFIGURATION_get_value_number(cfg, sectionname, "LIFETIME", &time_sec)) |
377 | { | 372 | { |
378 | sensor->lifetime = GNUNET_TIME_relative_multiply(GNUNET_TIME_UNIT_SECONDS, time_sec); | 373 | sensor->lifetime = GNUNET_TIME_relative_multiply(GNUNET_TIME_UNIT_SECONDS, time_sec); |
379 | GNUNET_log(GNUNET_ERROR_TYPE_DEBUG, "Lifetime loaded: %" PRIu64 "\n", sensor->lifetime.rel_value_us); | ||
380 | } | 374 | } |
381 | else | 375 | else |
382 | sensor->lifetime = GNUNET_TIME_UNIT_FOREVER_REL; | 376 | sensor->lifetime = GNUNET_TIME_UNIT_FOREVER_REL; |
@@ -527,15 +521,15 @@ add_sensor_to_hashmap(struct SensorInfo *sensor, struct GNUNET_CONTAINER_MultiHa | |||
527 | * | 521 | * |
528 | * @param cls closure | 522 | * @param cls closure |
529 | * @param filename complete filename (absolute path) | 523 | * @param filename complete filename (absolute path) |
530 | * @return #GNUNET_OK to continue to iterate, | 524 | * @return #GNUNET_OK to continue to iterate |
531 | * #GNUNET_NO to stop iteration with no error, | ||
532 | * #GNUNET_SYSERR to abort iteration with error! | ||
533 | */ | 525 | */ |
534 | static int | 526 | static int |
535 | reload_sensors_dir_cb(void *cls, const char *filename) | 527 | reload_sensors_dir_cb(void *cls, const char *filename) |
536 | { | 528 | { |
537 | struct SensorInfo *sensor; | 529 | struct SensorInfo *sensor; |
538 | 530 | ||
531 | if(GNUNET_YES != GNUNET_DISK_file_test(filename)) | ||
532 | return GNUNET_OK; | ||
539 | sensor = load_sensor_from_file(filename); | 533 | sensor = load_sensor_from_file(filename); |
540 | if(NULL == sensor) | 534 | if(NULL == sensor) |
541 | { | 535 | { |
@@ -576,16 +570,15 @@ static void | |||
576 | reload_sensors() | 570 | reload_sensors() |
577 | { | 571 | { |
578 | char* sensordir; | 572 | char* sensordir; |
579 | int filesfound; | ||
580 | 573 | ||
581 | sensordir = get_sensor_dir(); | 574 | sensordir = get_sensor_dir(); |
582 | GNUNET_log(GNUNET_ERROR_TYPE_INFO, _("Reloading sensor definitions from directory `%s'\n"), sensordir); | 575 | GNUNET_log(GNUNET_ERROR_TYPE_INFO, _("Reloading sensor definitions from directory `%s'\n"), sensordir); |
583 | GNUNET_assert(GNUNET_YES == GNUNET_DISK_directory_test(sensordir, GNUNET_YES)); | 576 | GNUNET_assert(GNUNET_YES == GNUNET_DISK_directory_test(sensordir, GNUNET_YES)); |
584 | 577 | ||
585 | //read all files in sensors directory | 578 | //read all files in sensors directory |
586 | filesfound = GNUNET_DISK_directory_scan(sensordir, &reload_sensors_dir_cb, NULL); | 579 | GNUNET_DISK_directory_scan(sensordir, &reload_sensors_dir_cb, NULL); |
587 | GNUNET_log(GNUNET_ERROR_TYPE_INFO, _("Loaded %d/%d sensors from directory `%s'\n"), | 580 | GNUNET_log(GNUNET_ERROR_TYPE_INFO, _("Loaded %d sensors from directory `%s'\n"), |
588 | GNUNET_CONTAINER_multihashmap_size(sensors), filesfound, sensordir); | 581 | GNUNET_CONTAINER_multihashmap_size(sensors), sensordir); |
589 | } | 582 | } |
590 | 583 | ||
591 | /** | 584 | /** |
@@ -607,8 +600,7 @@ create_sensor_info_msg(struct SensorInfo *sensor) | |||
607 | if(NULL == sensor->description) | 600 | if(NULL == sensor->description) |
608 | desc_len = 0; | 601 | desc_len = 0; |
609 | else | 602 | else |
610 | /* FIXME strlen + 1 */ | 603 | desc_len = strlen(sensor->description) + 1; |
611 | desc_len = strlen(sensor->description); | ||
612 | len = 0; | 604 | len = 0; |
613 | len += sizeof(struct SensorInfoMessage); | 605 | len += sizeof(struct SensorInfoMessage); |
614 | len += name_len; | 606 | len += name_len; |
diff --git a/src/sensor/test_sensor_api.c b/src/sensor/test_sensor_api.c index b7ebf8ff6..319360bfc 100644 --- a/src/sensor/test_sensor_api.c +++ b/src/sensor/test_sensor_api.c | |||
@@ -25,7 +25,7 @@ | |||
25 | #include "gnunet_util_lib.h" | 25 | #include "gnunet_util_lib.h" |
26 | #include "gnunet_sensor_service.h" | 26 | #include "gnunet_sensor_service.h" |
27 | 27 | ||
28 | 28 | //FIXME: | |
29 | static int ok = 1; | 29 | static int ok = 1; |
30 | 30 | ||
31 | 31 | ||