X-Git-Url: https://git.mxchange.org/?p=quix0rs-apt-p2p.git;a=blobdiff_plain;f=TODO;h=cfb65611ff30ea8bf7675a11051e86dce904be22;hp=dd9524a40f3ce417eba51814d8430bb5d34372b1;hb=aa0f99580b06354d1affbef134d5763b534026b6;hpb=136c82d6c138402e93bdefb499aed967ba059385;ds=sidebyside diff --git a/TODO b/TODO index dd9524a..cfb6561 100644 --- 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