Refresh expired DHT hashes concurrently instead of sequentially.
[quix0rs-apt-p2p.git] / TODO
diff --git a/TODO b/TODO
index 7a586fe9a2c4b15861764d4b103f9bcd22a2f5f0..08125f3be934c556485f572b939eeb6a5086577d 100644 (file)
--- a/TODO
+++ b/TODO
@@ -1,9 +1,16 @@
-Add all cache files to the database.
+Some last few things to do before release.
 
-All files in the cache should be added to the database, so that they can
-be checked to make sure nothing has happened to them. The database would
-then need a flag to indicate files that are hashed and available, but
-that shouldn't be added to the DHT.
+- Handle/investigate the HTTP client pipeline errors
+- remove files from the peer's download cache
+- update the modtime of files downloaded from peers
+  - also set the Last-Modified header for the return to Apt
+
+Consider what happens when multiple requests for a file are received.
+
+When another request comes in for a file already being downloaded,
+the new request should wait for the old one to finish. This should
+also be done for multiple requests for peer downloads of files with
+the same hash.
 
 
 Packages.diff files need to be considered.
@@ -30,6 +37,14 @@ and not the headers, and also misses the requests for downloads sent to
 other peers.
 
 
+Rehash changed files instead of removing them.
+
+When the modification time of a file changes but the size does not,
+the file could be rehased to verify it is the same instead of
+automatically removing it. The DB would have to be modified to return
+deferred's for a lot of its functions.
+
+
 Consider storing deltas of packages.
 
 Instead of downloading full package files when a previous version of