-keep track of messages passed to mq
[oweals/gnunet.git] / src / sensor / gnunet_sensor_model_plugin.h
index b2973a60db63b6a6d13878e45d54ab90393d080c..509666f2300e2fcb9dc85aa712b49c7597bcc64a 100644 (file)
@@ -1,6 +1,6 @@
 /*
      This file is part of GNUnet
-     (C) 2012, 2013 Christian Grothoff (and other contributing authors)
+     Copyright (C) 2012, 2013 Christian Grothoff (and other contributing authors)
 
      GNUnet is free software; you can redistribute it and/or modify
      it under the terms of the GNU General Public License as published
@@ -14,8 +14,8 @@
 
      You should have received a copy of the GNU General Public License
      along with GNUnet; see the file COPYING.  If not, write to the
-     Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-     Boston, MA 02111-1307, USA.
+     Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+     Boston, MA 02110-1301, USA.
 */
 
 /**
@@ -54,8 +54,23 @@ struct GNUNET_SENSOR_ModelFunctions
    * @param cls closure (plugin state)
    * @return model state to be used for later calls
    */
-  void *
-  (*create_model) (void *cls);
+  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);
 
 };