That would work, too. I didn't look at their system in detail, but if I understand how it works I don't think rsync is the best idea.
The problem is that _each_time_ a file is re-synchronized, both the server (with the new file) and the client (the one updating) must read the file completely, hash it several times (it's a simple hash, but still), exchange the hashes and only then they transmit the diff. In a sense, the server must determine the diff for _every_ client connecting, without even seeing the client's file. Although, I think it _is_ technically possible to pre-compute the hashes and store them on the server (ie, you only need them once for each version of the file), but I'm not sure if there's any rsynch implementation that does this. The only advantages I see are that (1) this would work with any old version of the Package file, and (2) it gets rid of the large list of diffs. With straight rsync, there are disadvantages: (a) we'd need a completely new parallel protocol (rsync doesn't work through HTTP), (b) the synchronization is processing-intensive both on the server and the client, for _every_ connection (the client isn't the problem, but we'd be trading bandwidth for processor time). If we do find something rsync-like that can pre-compute the server-side hashes (so that the client download them, and then the file differences selectively using HTTP ranges), that would be nice too. -- "package lists" should be downloaded as diffs (Contents-i386.gz) https://bugs.launchpad.net/bugs/144083 You received this bug notification because you are a member of Ubuntu Bugs, which is the bug contact for Ubuntu. -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs