Implement a rangeset data type and use it to track items in log segments.
authorMichael Vrable <mvrable@cs.ucsd.edu>
Sat, 30 Oct 2010 00:40:14 +0000 (17:40 -0700)
committerMichael Vrable <mvrable@cs.ucsd.edu>
Sat, 30 Oct 2010 00:40:14 +0000 (17:40 -0700)
commit772058dfc33fbe4857864b4bdb8ba947eca19303
treec4b9d06aa53d11adec7a5cfae7fcdb5fc3fbb992
parentd9bdc90da5c143d76cf3efd3c39b9bd190fb3741
Implement a rangeset data type and use it to track items in log segments.

The range set can be used to track which byte ranges in a file correspond
to valid objects, and so can be used in the cloud log code to check that
1) objects are actually available if partial log fetching is implemented,
and 2) that objects being fetched have actually been authenticated (if
needed).

This isn't fully working yet.  The range sets should be changed from a hash
table to a sequence, since some lookups in the cloud log code are into the
middle of an object (to skip the header and remap the data), and that needs
to be handled properly.
bluesky/bluesky-private.h
bluesky/bluesky.h
bluesky/cache.c
bluesky/cloudlog.c
bluesky/imap.c
bluesky/log.c
bluesky/util.c