sensor: separate monitoring functions
[oweals/gnunet.git] / src / sensor / gnunet_sensor_model_plugin.h
index 374c776f5fbed6dd16d7a58710913b01410e1a47..15631487c44119f3b76c33c7573e81f517b34179 100644 (file)
@@ -48,6 +48,30 @@ struct GNUNET_SENSOR_ModelFunctions
    */
   void *cls;
 
+  /*
+   * Create a model instance
+   *
+   * @param cls closure (plugin state)
+   * @return model state to be used for later calls
+   */
+  void *(*create_model) (void *cls);
+
+  /*
+   * Destroy a model instance
+   *
+   * @param cls closure (model state)
+   */
+  void (*destroy_model) (void *cls);
+
+  /*
+   * Feed a new value to a model
+   *
+   * @param cls closure (model state)
+   * @param val value to be fed to the model
+   * @return #GNUNET_YES in case of a detected outlier, #GNUNET_NO otherwise
+   */
+  int (*feed_model) (void *cls, double val);
+
 };