swarm/storage: sorted references for GetAllReferences

This commit is contained in:
Fabio Barone 2019-02-04 11:45:10 -05:00
parent efa7a4083f
commit 61752ac4dc

View file

@ -99,8 +99,7 @@ func (f *FileStore) HashSize() int {
} }
// Public API. This endpoint returns all chunk hashes (only) for a given file // Public API. This endpoint returns all chunk hashes (only) for a given file
func (f *FileStore) GetAllReferences(ctx context.Context, data io.Reader, toEncrypt bool) (addrs []Address, err error) { func (f *FileStore) GetAllReferences(ctx context.Context, data io.Reader, toEncrypt bool) (addrs AddressCollection, err error) {
addrs = make([]Address, 0)
// create a special kind of putter, which only will store the references // create a special kind of putter, which only will store the references
putter := &HashExplorer{ putter := &HashExplorer{
hasherStore: NewHasherStore(f.ChunkStore, f.hashFunc, toEncrypt), hasherStore: NewHasherStore(f.ChunkStore, f.hashFunc, toEncrypt),
@ -114,7 +113,7 @@ func (f *FileStore) GetAllReferences(ctx context.Context, data io.Reader, toEncr
// collect all references // collect all references
addrs = NewAddressCollection(0) addrs = NewAddressCollection(0)
for _, ref := range putter.References { for _, ref := range putter.References {
addrs = append(addrs, Address(ref)) arr = append(arr, Address(ref))
} }
sort.Sort(addrs) sort.Sort(addrs)
return addrs, nil return addrs, nil