code: func (sh *SyncHandler) enumerateQueuedBlobs(dst chan<- blob.SizedRef, intr <-chan struct{}) error {
  	defer close(dst)
  	it := sh.queue.Find("", "")
  	for it.Next() {
  		br, ok := blob.Parse(it.Key())
  		size, err := strconv.ParseUint(it.Value(), 10, 32)
  		if !ok || err != nil {
  			sh.logf("ERROR: bogus sync queue entry: %q => %q", it.Key(), it.Value())
  			continue
  		}
  		select {
  		case dst <- blob.SizedRef{Ref: br, Size: uint32(size)}:
  		case <-intr:
  			return it.Close()
  		}
  	}
  	return it.Close()
  }
docs: // enumerateQueuedBlobs yields blobs from the on-disk sorted.KeyValue store.
  // This differs from enumeratePendingBlobs, which sends from the in-memory pending list.