-improve UDP logging
[oweals/gnunet.git] / src / ats / gnunet-service-ats_preferences.h
index cecc9d5f6101951675a85c9a330e578afda07787..4500dd0ff2ab0e60b02cf02eb56bf7afeea52b32 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 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
  Free Software Foundation, Inc., 59 Temple Place - Suite 330,
  Boston, MA 02111-1307, 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