update
authorChristian Grothoff <christian@grothoff.org>
Tue, 22 Sep 2009 18:32:31 +0000 (18:32 +0000)
committerChristian Grothoff <christian@grothoff.org>
Tue, 22 Sep 2009 18:32:31 +0000 (18:32 +0000)
TODO
src/fs/gnunet-service-fs.c

diff --git a/TODO b/TODO
index 2888341ca997d006566250b1d8d99afd436ca31a..fc76b96041ddc4a6a72c9da249a6e3e6d4dec418 100644 (file)
--- a/TODO
+++ b/TODO
@@ -14,12 +14,10 @@ away), in order in which they will likely be done:
 
 Urgent items (before announcing ng.gnunet.org):
 * FS (basic anonymous FS only)
-  - need way to determine network load (up/down)
-  - need *fast* way to check/update trust in peers
-    (async peerinfo would not be right)
   - implement FS service
-    + P2P-functions (query, response, peer-disconnect)
-    + CS/P2P-functions (initiate P2P, handle P2P->CS)
+    + how to send queries (soliciting is not there in core; do we
+      also want to do pushing sometimes?)
+    + need to bound queueing of replies for other peers    
   - implement testcases 
     + URI API
     + getopt API
@@ -30,6 +28,11 @@ Urgent items (before announcing ng.gnunet.org):
       ~ search
       ~ unindex
     + directory API
+* CORE:
+  - soliciting traffic for clients that registered for it is not implemented
+    (in the service, client API supports GNUNET_MESSAGE_TYPE_CORE_SOLICIT_TRAFFIC
+     but never receives any such messages); how to avoid busy-waiting here
+     is a good question (solicit => nothing, when to solicit again???)
 * TESTING (needed for DV, DHT, Topology)
   - implement library for local testing
     + modify configuration to allow controlling connections for non-local starts
@@ -52,6 +55,11 @@ Urgent items (before announcing ng.gnunet.org):
 
 
 0.9.0pre0:
+* UTIL:
+  - heap: "remove_node" can hardly be O(1) given the API, but it should be (!)
+  - load: need way to determine network load (up/down)
+  - trust: need *fast* way to check/update trust in peers
+           (async peerinfo would not be right)
 * Module features to implement:
   - advanced FS API parts
     + namespaces: fundamental namespace API
@@ -68,7 +76,7 @@ Urgent items (before announcing ng.gnunet.org):
     + gnunet-download (many options)
     + gnunet-directory (man page, options)
     + gnunet-pseudonym (all of it)
-    + gnunet-service-fs (remove failing on-demand blocks)
+    + gnunet-service-fs (remove failing on-demand blocks, many other nitpicks/features/optimizations)
     + datastore: do active migration support here?
   - implement adv. FS testcases 
     + insert: sblocks, loc uris
index b128b69a2099bdd2413023527338a7575c2ee0d0..0c27f58b92a9029674ac69b4b5c630898d0084c0 100644 (file)
@@ -360,8 +360,7 @@ struct PendingReply
 
 
 /**
- * All requests from a client are 
- * kept in a doubly-linked list.
+ * All requests from a client are kept in a doubly-linked list.
  */
 struct ClientRequestList;
 
@@ -514,8 +513,7 @@ struct PendingRequest
 
 
 /**
- * All requests from a client are 
- * kept in a doubly-linked list.
+ * All requests from a client are kept in a doubly-linked list.
  */
 struct ClientRequestList
 {
@@ -688,7 +686,9 @@ static struct ClientList *clients;
 static struct GNUNET_CONTAINER_Heap *requests_by_expiration;
 
 /**
- * FIXME: set from configuration.
+ * Maximum number of requests (from other peers) that we're
+ * willing to have pending at any given point in time.
+ * FIXME: set from configuration (and 32 is a tiny value for testing only).
  */
 static uint64_t max_pending_requests = 32;