fix
[oweals/gnunet.git] / TODO
diff --git a/TODO b/TODO
index b5d21b828d2ffd9ed60e111e95fe44b507dc5779..d99128a968d60eda9c3c8d03edf1bc3187d897da 100644 (file)
--- a/TODO
+++ b/TODO
@@ -1,17 +1,9 @@
 0.9.0pre1:
-* MIGRATION [CG]
-  - on-demand encoding => move logic to block-library!?
-  - peer selection => how to consider latency/bw/etc?
-  - content transmission => how often the same block?
-  - how to select delay before next migration? 
-  - testing
 * FS: [CG]
-  - migration (inbound)
-  - support for in-line files in directories (FIXME in fs_download)
-  - bound parallelism (# fs downloads)
-  - distinguish in performance tracking and event signalling between
-    downloads that are actually running and those that are merely in the queue
-  - persistence support (publish, unindex, search, download)
+  - persistence testing (publish, unindex, search, download):
+    => need driver!
+    => schedule suspending tasks DURING event handler => good coverage!
+    => test SUSPEND events
   - gnunet-service-fs (hot-path routing, load-based routing, nitpicks)  
   - [gnunet-service-fs.c:208]: member 'LocalGetContext::results_bf_size' is never used
   - [gnunet-service-fs.c:501]: member 'PendingRequest::used_pids_size' is never used
   - [gnunet-service-fs.c:700]: member 'ConnectedPeer::last_client_replies_woff' is never used
   - GAP improvements:
     + active reply route caching design & implementation of service; gap extension!
+* MIGRATION [CG]
+  - on-demand encoding => move logic to block-library!?
+  - peer selection => how to consider latency/bw/etc?
+  - content transmission => how often the same block?
+  - how to select delay before next migration? 
+  - migration to us
+  - testing
+  - integrate with FS or not? (peer list, index/on-demand encoding, block code,
+    inbound priority assignment; all would be easier with tight integration!)
 * TBENCH: [MW]
   - good to have for transport/DV evaluation! 
 * DV: [Nate]
   - shutdown sequence?
 * FS: [CG]
   - datastore reservation (publishing)
-  - search: availability probes
   - location URIs (publish, search, download)
+  - unindex on index failure
+  - utilize in-line files in meta data always (including in search results or
+    when download is triggered manually and for probes); currently the data is
+    only used when users do a general 'recursive' download
   - non-anonymous FS service (needs DHT)
     + DHT integration for search
     + CS-DHT-functions (DHT-put of LOC)
   - datastore
 * FS:
   - reconstruct IBLOCKS from DBLOCKS if possible (during download; see FIXME in fs_download)
-
+  - add support for pushing "already seen" search results to FS service for bloomfilter (can wait)
+  - use different 'priority' for probe downloads vs. normal downloads
 
 0.9.0:
 * new webpage:
   - convert documentation pages to books
   - update books (especially for developers)
   - create good Drupal theme for GNUnet
-  - make a NICE download page and figure out how to 
-    enable developers to publish TGZs nicely
+  - make a NICE download page and figure out how to enable developers to publish TGZs nicely
   - port "contact" page
   - add content type for "todo" items?
 * POSTGRES database backends: [CG]
     (Note: build library always, build service when libxml2/etc. are available)
 * FS: [CG]
   - Remove KBlocks in gnunet-unindex (see discussion with Kenneth Almquist on gnunet-devs in 9/2009)
-  - Allow checking of presence of search results and/or content via command-line tools
-    (add options to gnunet-search / gnunet-download to limit search to local peer)
 * PEERINFO: [CG]
   - expire 'ancient' HELLOs (those without valid addresses AND that 
     we have not 'used' (for their public keys) in a while; need a way
@@ -169,9 +171,6 @@ Optimizations:
 * TRANSPORT:
   - need to periodically probe latency/transport cost changes & possibly switch transport
   - should use hash map to look up Neighbours (service AND plugins!)
-* HOSTLIST:
-  - 'server' uses 'GNUNET_PEERINFO_iterate', should probably switch to notification API
-    (for more instant / up-to-date hostlists at lower cost)
 * DATASTORE (?):
   - check for duplicates on insertion (currently, same content is frequently
     stored again [seen with KBLOCKS and SBLOCKS]!)
@@ -180,6 +179,8 @@ Optimizations:
     (theoretically reduces overhead; bounds message queue size)
   - merge multiple iteration requests over "all" peers in the queue
     (theoretically reduces overhead; bounds messgae queue size)
+* FS:
+  - use different queue prioritization for probe-downloads vs. normal downloads (!?)
 
 Minor features:
 * TCP:
@@ -187,9 +188,5 @@ Minor features:
   - [./transport/plugin_transport_tcp.c:391]: (style) struct or union member 'Plugin::address_update_task' is never used (related to issue above)
 * TRANSPORT:
   - [./transport/gnunet-service-transport.c:173]: (style) struct or union member 'TransportPlugin::rebuild' is never used (related to TCP not refreshing external addresses?)
-* DATACACHE:
-  - add stats (# bytes available, # bytes used, # PUTs, # GETs, # GETs satisfied)
-* FS:
-  - support inline data in directories for recursive file downloads (fs_download)
 * BLOCKS:
   - testcase would be nice...