mirror of
https://github.com/fluencelabs/go-libp2p-kad-dht
synced 2025-07-31 03:52:03 +00:00
SearchValue: Make -1 quorum mean infinite on get
This commit is contained in:
@@ -328,7 +328,7 @@ func TestSearchValue(t *testing.T) {
|
||||
|
||||
ctxT, cancel = context.WithTimeout(ctx, time.Second*2)
|
||||
defer cancel()
|
||||
valCh, err := dhtA.SearchValue(ctxT, "/v/hello")
|
||||
valCh, err := dhtA.SearchValue(ctxT, "/v/hello", Quorum(-1))
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
@@ -395,7 +395,7 @@ func TestGetValues(t *testing.T) {
|
||||
t.Fatalf("expected to get 2 values, got %d", len(vals))
|
||||
}
|
||||
|
||||
sort.Slice(vals, func(i, j int) bool {return string(vals[i].Val) < string(vals[j].Val)})
|
||||
sort.Slice(vals, func(i, j int) bool { return string(vals[i].Val) < string(vals[j].Val) })
|
||||
|
||||
if string(vals[0].Val) != "valid" {
|
||||
t.Errorf("unexpected vals[0]: %s", string(vals[0].Val))
|
||||
|
@@ -157,6 +157,9 @@ func (dht *IpfsDHT) SearchValue(ctx context.Context, key string, opts ...ropts.O
|
||||
go func() {
|
||||
defer close(out)
|
||||
|
||||
if responsesNeeded < 0 {
|
||||
responsesNeeded = 0
|
||||
}
|
||||
vals := make([]RecvdVal, 0, responsesNeeded)
|
||||
best := -1
|
||||
|
||||
@@ -271,7 +274,7 @@ func (dht *IpfsDHT) getValues(ctx context.Context, key string, nvals int) (<-cha
|
||||
From: dht.self,
|
||||
}
|
||||
|
||||
if nvals <= 1 {
|
||||
if nvals == 0 || nvals == 1 {
|
||||
return done(nil)
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user