blobpacked: use blobserver.MergedEnumerate

Change-Id: I62160c56860a6433416373c04cedf12a5c4530bc
This commit is contained in:
Brad Fitzpatrick 2014-09-22 22:08:14 -04:00
parent 8ac4929b38
commit ca56ca7356
1 changed files with 15 additions and 1 deletions

View File

@ -407,7 +407,21 @@ func (s *storage) StatBlobs(dest chan<- blob.SizedRef, blobs []blob.Ref) (err er
}
func (s *storage) EnumerateBlobs(ctx *context.Context, dest chan<- blob.SizedRef, after string, limit int) (err error) {
// TODO: merged numerate if s.assumeSmall
if s.assumeSmall {
return blobserver.MergedEnumerate(ctx, dest, []blobserver.BlobEnumerator{
s.small,
enumerator{s},
}, after, limit)
}
return enumerator{s}.EnumerateBlobs(ctx, dest, after, limit)
}
// enumerator implements EnumerateBlobs.
type enumerator struct {
*storage
}
func (s enumerator) EnumerateBlobs(ctx *context.Context, dest chan<- blob.SizedRef, after string, limit int) (err error) {
defer close(dest)
t := s.meta.Find(blobMetaPrefix+after, blobMetaPrefixLimit)
defer func() {