Skip to content

Commit 913f964

Browse files
committed
merkledag: keep key order in dedupeKeys
License: MIT Signed-off-by: Łukasz Magiera <[email protected]>
1 parent 3fbb771 commit 913f964

File tree

2 files changed

+6
-3
lines changed

2 files changed

+6
-3
lines changed

core/corehttp/gateway_handler.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -373,7 +373,7 @@ func (i *gatewayHandler) getOrHeadHandler(ctx context.Context, w http.ResponseWr
373373
}
374374

375375
type sizeReadSeeker interface {
376-
Size() uint64
376+
Size() uint64
377377

378378
io.ReadSeeker
379379
}

merkledag/merkledag.go

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -307,11 +307,14 @@ func GetNodes(ctx context.Context, ds DAGService, keys []*cid.Cid) []NodeGetter
307307

308308
// Remove duplicates from a list of keys
309309
func dedupeKeys(cids []*cid.Cid) []*cid.Cid {
310+
out := make([]*cid.Cid, 0, len(cids))
310311
set := cid.NewSet()
311312
for _, c := range cids {
312-
set.Add(c)
313+
if set.Visit(c) {
314+
out = append(out, c)
315+
}
313316
}
314-
return set.Keys()
317+
return out
315318
}
316319

317320
func newNodePromise(ctx context.Context) NodeGetter {

0 commit comments

Comments
 (0)