Adam Majer wrote: > On Wed, Mar 27, 2002 at 01:53:00PM +0100, Eduard Bloch wrote: > > 1) Large packages files > > [... 3 level idea ...] > > I would suggest a solution that is much easier to manage. That is, packages > should be sorted according to the date that the package was modified. > This could be accompished with adding "Last Update" field to > Packages that would indicate when the package is installed. > > This way, we could implement a partial update for Packages by the server > simply parsing the "cream" from the top of the milk :) This would make > fetching Packages a lot faster. > > This would require a small CGI on the server that would support this type > of fetch, but it could save a lot of bandwidth for the server and for > the user.
Here's how to make it possible without a CGI script; just support for fetching the last bit of a file. If you don't store the last update times in the Pacakges file, you can download just the last-update info, which should be a lot smaller than the packages file. Once you have this info, you know which part of the Packages file is the same as the one on the server. Then, you fetch from that point to the end of the server's file. You can make the dates file small by storing the dates only to the day accuracy, maybe as 32bit ints instead of text, or something. It should be pretty small after gzipping. (high accuracy dates aren't needed because not many packages are updated in a day, and downloading a few extra package descriptions is no problem.) I think this all works :) The only hard part is finding the right offset in a gzipped file given that you know how much of the begging of two uncompressed files match. --- #define X(x,y) x##y Peter Cordes ; e-mail: X([EMAIL PROTECTED] , ns.ca) "The gods confound the man who first found out how to distinguish the hours! Confound him, too, who in this place set up a sundial, to cut and hack my day so wretchedly into small pieces!" -- Plautus, 200 BCE -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]