update tests to use new MQ API
[oweals/gnunet.git] / src / ats / gnunet-service-ats_preferences.h
index cecc9d5f6101951675a85c9a330e578afda07787..3a483d8164a2e9d6b4148e68648e4d106b708f9a 100644 (file)
@@ -1,6 +1,6 @@
 /*
  This file is part of GNUnet.
- (C) 2011-2014 Christian Grothoff (and other contributing authors)
+ Copyright (C) 2011-2014 GNUnet e.V.
 
  GNUnet is free software; you can redistribute it and/or modify
  it under the terms of the GNU General Public License as published
 
  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.
  */
-
 /**
  * @file ats/gnunet-service-ats_preferences.h
- * @brief FIXME
+ * @brief manage preferences expressed by clients
  * @author Matthias Wachs
  * @author Christian Grothoff
  */
 #include "gnunet_statistics_service.h"
 #include "ats.h"
 
-
+/**
+ * Default preference value we assume if we know nothing.
+ */
 #define DEFAULT_ABS_PREFERENCE 0.0
 
-#define DEFAULT_REL_PREFERENCE 0.0
-
-
 /**
- * A preference client disconnected.
- *
- * @param client the client
+ * Default relative preference value we assume if we know nothing.
  */
-void
-GAS_preference_client_disconnect (struct GNUNET_SERVER_Client *client);
+#define DEFAULT_REL_PREFERENCE 0.0
 
 
 /**
@@ -75,4 +70,26 @@ void
 GAS_preference_done (void);
 
 
+/**
+ * Get the normalized preference values for a specific peer.
+ *
+ * @param cls ignored
+ * @param id the peer
+ * @return pointer to the values, can be indexed
+ *  with `enum GNUNET_ATS_PreferenceKind`, never NULL
+ */
+const double *
+GAS_preference_get_by_peer (void *cls,
+                            const struct GNUNET_PeerIdentity *id);
+
+
+/**
+ * A performance client disconnected
+ *
+ * @param client the disconnecting client
+ */
+void
+GAS_preference_client_disconnect (struct GNUNET_SERVER_Client *client);
+
+
 #endif