- opaque mq structs
[oweals/gnunet.git] / src / fs / gnunet-service-fs.h
index 5ea73ee28b995479afab52e3ec11d4bd1b189ec2..8830058e99a4ca9712c34871e027267590c1f0f7 100644 (file)
@@ -31,6 +31,7 @@
 #include "gnunet_transport_service.h"
 #include "gnunet_core_service.h"
 #include "gnunet_block_lib.h"
+#include "gnunet_ats_service.h"
 #include "fs.h"
 
 
  */
 #define GET_MESSAGE_BIT_RETURN_TO 1
 
-/**
- * The hash of the public key of the target
- * namespace is included (for SKS queries).
- */
-#define GET_MESSAGE_BIT_SKS_NAMESPACE 2
-
 /**
  * The peer identity of a peer that had claimed to have the content
  * previously is included (can be used if responder-anonymity is not
@@ -119,7 +114,7 @@ struct GetMessage
   /**
    * Which of the optional hash codes are present at the end of the
    * message?  See GET_MESSAGE_BIT_xx constants.  For each bit that is
-   * set, an additional GNUNET_HashCode with the respective content
+   * set, an additional struct GNUNET_HashCode with the respective content
    * (in order of the bits) will be appended to the end of the GET
    * message.
    */
@@ -129,7 +124,7 @@ struct GetMessage
    * Hashcodes of the file(s) we're looking for.
    * Details depend on the query type.
    */
-  GNUNET_HashCode query GNUNET_PACKED;
+  struct GNUNET_HashCode query;
 
   /* this is followed by hash codes as specified in the "hash_bitmap";
    * after that, an optional bloomfilter (with bits set for replies
@@ -183,10 +178,9 @@ struct GSF_LocalClient;
 struct GSF_RequestPlan;
 
 /**
- * DLL of request plans a particular pending request is
- * involved with.
+ * Bijection between request plans and pending requests.
  */
-struct GSF_RequestPlanReference;
+struct GSF_PendingRequestPlanBijection;
 
 /**
  * Our connection to the datastore.
@@ -224,6 +218,12 @@ extern struct GNUNET_LOAD_Value *GSF_rt_entry_lifetime;
  */
 extern struct GNUNET_TIME_Relative GSF_avg_latency;
 
+/**
+ * Handle to ATS service.
+ */
+extern struct GNUNET_ATS_PerformanceHandle *GSF_ats;
+
+
 /**
  * Typical priorities we're seeing from other peers right now.  Since
  * most priorities will be zero, this value is the weighted average of
@@ -258,6 +258,12 @@ extern struct GNUNET_BLOCK_Context *GSF_block_ctx;
  */
 extern int GSF_enable_randomized_delays;
 
+/**
+ * Size of the datastore queue we assume for common requests.
+ */
+extern unsigned int GSF_datastore_queue_size;
+
+
 /**
  * Test if the DATABASE (GET) load on this peer is too high
  * to even consider processing the query at