]> git.mxchange.org Git - quix0rs-apt-p2p.git/blobdiff - TODO
Fix an error in the actions that allowed for the result to be sent twice.
[quix0rs-apt-p2p.git] / TODO
diff --git a/TODO b/TODO
index dd9524a40f3ce417eba51814d8430bb5d34372b1..cfb65611ff30ea8bf7675a11051e86dce904be22 100644 (file)
--- a/TODO
+++ b/TODO
@@ -1,9 +1,22 @@
-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
+- DB should not always restat files (especially for expired hashes)
+- remove missing files at startup (in DB's removeUntracked)
+- when files modtime but not size changes, rehash them to be sure
+- lengthen the expiry time for DHT entries
+- 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
+- make the DHT timeouts configuration parameters
+- refresh expired DHT hashes concurrently instead of sequentially
+
+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.
@@ -15,6 +28,21 @@ distributions. They need to be dealt with properly by
 adding them to the tracking done by the AptPackages module.
 
 
+Improve the downloaded and uploaded data measurements.
+
+There are 2 places that this data is measured: for statistics, and for
+limiting the upload bandwidth. They both have deficiencies as they
+sometimes miss the headers or the requests sent out. The upload
+bandwidth calculation only considers the stream in the upload and not
+the headers sent, and it also doesn't consider the upload bandwidth
+from requesting downloads from peers (though that may be a good thing).
+The statistics calculations for downloads include the headers of
+downloaded files, but not the requests received from peers for upload
+files. The statistics for uploaded data only includes the files sent
+and not the headers, and also misses the requests for downloads sent to
+other peers.
+
+
 Consider storing deltas of packages.
 
 Instead of downloading full package files when a previous version of