sensor: fixes for proof-of-work, test passes now
[oweals/gnunet.git] / src / sensor / gnunet-service-sensor_analysis.c
index 46422d03967a37328f7c0c8a91b26c3df62beae6..a53c22589b371bb46678ce8bbaf827503e1fc4a1 100644 (file)
@@ -86,6 +86,11 @@ struct SensorModel
  */
 static const struct GNUNET_CONFIGURATION_Handle *cfg;
 
+/**
+ * Hashmap of loaded sensors
+ */
+struct GNUNET_CONTAINER_MultiHashMap *sensors;
+
 /*
  * Model library name
  */
@@ -209,11 +214,7 @@ sensor_watcher (void *cls, struct GNUNET_PEERSTORE_Record *record, char *emsg)
       model->anomalous = GNUNET_YES;
       LOG (GNUNET_ERROR_TYPE_WARNING,
            "Anomaly state started for sensor `%s'.\n", model->sensor->name);
-      GNUNET_PEERSTORE_store (peerstore, "senosr-analysis", &peerid,
-                              model->sensor->name, &model->anomalous,
-                              sizeof (model->anomalous),
-                              GNUNET_TIME_absolute_get (),
-                              GNUNET_PEERSTORE_STOREOPTION_REPLACE, NULL, NULL);
+      SENSOR_reporting_anomaly_update (model->sensor, model->anomalous);
     }
   }
   else
@@ -226,11 +227,7 @@ sensor_watcher (void *cls, struct GNUNET_PEERSTORE_Record *record, char *emsg)
       model->anomalous = GNUNET_NO;
       LOG (GNUNET_ERROR_TYPE_INFO, "Anomaly state stopped for sensor `%s'.\n",
            model->sensor->name);
-      GNUNET_PEERSTORE_store (peerstore, "senosr-analysis", &peerid,
-                              model->sensor->name, &model->anomalous,
-                              sizeof (model->anomalous),
-                              GNUNET_TIME_absolute_get (),
-                              GNUNET_PEERSTORE_STOREOPTION_REPLACE, NULL, NULL);
+      SENSOR_reporting_anomaly_update (model->sensor, model->anomalous);
     }
   }
   return GNUNET_YES;
@@ -279,12 +276,13 @@ init_sensor_model (void *cls, const struct GNUNET_HashCode *key, void *value)
  */
 int
 SENSOR_analysis_start (const struct GNUNET_CONFIGURATION_Handle *c,
-                       struct GNUNET_CONTAINER_MultiHashMap *sensors)
+                       struct GNUNET_CONTAINER_MultiHashMap *s)
 {
   char *model_name;
 
-  GNUNET_assert (NULL != sensors);
+  GNUNET_assert (NULL != s);
   cfg = c;
+  sensors = s;
   if (GNUNET_OK !=
       GNUNET_CONFIGURATION_get_value_string (cfg, "sensor-analysis", "MODEL",
                                              &model_name))