From ca56ca735628680cc732c7c35dc582dac4a320b4 Mon Sep 17 00:00:00 2001 From: Brad Fitzpatrick Date: Mon, 22 Sep 2014 22:08:14 -0400 Subject: [PATCH] blobpacked: use blobserver.MergedEnumerate Change-Id: I62160c56860a6433416373c04cedf12a5c4530bc --- pkg/blobserver/blobpacked/blobpacked.go | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/pkg/blobserver/blobpacked/blobpacked.go b/pkg/blobserver/blobpacked/blobpacked.go index 69a8d91a3..6bd9377cd 100644 --- a/pkg/blobserver/blobpacked/blobpacked.go +++ b/pkg/blobserver/blobpacked/blobpacked.go @@ -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() {