Skip to content

Commit d935620

Browse files
authored
Merge pull request #624 from libp2p/fix/optimize-when-no-events
fix: optimize for the case where we're not subscribing to query events
2 parents 6dee1e5 + 0fd3e05 commit d935620

File tree

3 files changed

+14
-5
lines changed

3 files changed

+14
-5
lines changed

dual/dual.go

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,14 @@ func (dht *DHT) Provide(ctx context.Context, key cid.Cid, announce bool) error {
9797
func (dht *DHT) FindProvidersAsync(ctx context.Context, key cid.Cid, count int) <-chan peer.AddrInfo {
9898
reqCtx, cancel := context.WithCancel(ctx)
9999
outCh := make(chan peer.AddrInfo)
100-
subCtx, evtCh := routing.RegisterForQueryEvents(reqCtx)
100+
101+
// Register for and merge query events if we care about them.
102+
subCtx := reqCtx
103+
var evtCh <-chan *routing.QueryEvent
104+
if routing.SubscribesToQueryEvents(ctx) {
105+
subCtx, evtCh = routing.RegisterForQueryEvents(reqCtx)
106+
}
107+
101108
wanCh := dht.WAN.FindProvidersAsync(subCtx, key, count)
102109
lanCh := dht.LAN.FindProvidersAsync(subCtx, key, count)
103110
zeroCount := (count == 0)

go.mod

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,11 @@ require (
1717
github.com/jbenet/goprocess v0.1.4
1818
github.com/libp2p/go-eventbus v0.1.0
1919
github.com/libp2p/go-libp2p v0.8.2
20-
github.com/libp2p/go-libp2p-core v0.5.2
20+
github.com/libp2p/go-libp2p-core v0.5.3
2121
github.com/libp2p/go-libp2p-kbucket v0.4.1
2222
github.com/libp2p/go-libp2p-peerstore v0.2.3
2323
github.com/libp2p/go-libp2p-record v0.1.2
24-
github.com/libp2p/go-libp2p-routing-helpers v0.2.1
24+
github.com/libp2p/go-libp2p-routing-helpers v0.2.3
2525
github.com/libp2p/go-libp2p-swarm v0.2.3
2626
github.com/libp2p/go-libp2p-testing v0.1.1
2727
github.com/libp2p/go-msgio v0.0.4

go.sum

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -244,6 +244,8 @@ github.com/libp2p/go-libp2p-core v0.5.1 h1:6Cu7WljPQtGY2krBlMoD8L/zH3tMUsCbqNFH7
244244
github.com/libp2p/go-libp2p-core v0.5.1/go.mod h1:uN7L2D4EvPCvzSH5SrhR72UWbnSGpt5/a35Sm4upn4Y=
245245
github.com/libp2p/go-libp2p-core v0.5.2 h1:hevsCcdLiazurKBoeNn64aPYTVOPdY4phaEGeLtHOAs=
246246
github.com/libp2p/go-libp2p-core v0.5.2/go.mod h1:uN7L2D4EvPCvzSH5SrhR72UWbnSGpt5/a35Sm4upn4Y=
247+
github.com/libp2p/go-libp2p-core v0.5.3 h1:b9W3w7AZR2n/YJhG8d0qPFGhGhCWKIvPuJgp4hhc4MM=
248+
github.com/libp2p/go-libp2p-core v0.5.3/go.mod h1:uN7L2D4EvPCvzSH5SrhR72UWbnSGpt5/a35Sm4upn4Y=
247249
github.com/libp2p/go-libp2p-crypto v0.1.0 h1:k9MFy+o2zGDNGsaoZl0MA3iZ75qXxr9OOoAZF+sD5OQ=
248250
github.com/libp2p/go-libp2p-crypto v0.1.0/go.mod h1:sPUokVISZiy+nNuTTH/TY+leRSxnFj/2GLjtOTW90hI=
249251
github.com/libp2p/go-libp2p-discovery v0.2.0 h1:1p3YSOq7VsgaL+xVHPi8XAmtGyas6D2J6rWBEfz/aiY=
@@ -286,8 +288,8 @@ github.com/libp2p/go-libp2p-pnet v0.2.0 h1:J6htxttBipJujEjz1y0a5+eYoiPcFHhSYHH6n
286288
github.com/libp2p/go-libp2p-pnet v0.2.0/go.mod h1:Qqvq6JH/oMZGwqs3N1Fqhv8NVhrdYcO0BW4wssv21LA=
287289
github.com/libp2p/go-libp2p-record v0.1.2 h1:M50VKzWnmUrk/M5/Dz99qO9Xh4vs8ijsK+7HkJvRP+0=
288290
github.com/libp2p/go-libp2p-record v0.1.2/go.mod h1:pal0eNcT5nqZaTV7UGhqeGqxFgGdsU/9W//C8dqjQDk=
289-
github.com/libp2p/go-libp2p-routing-helpers v0.2.1 h1:tV5fxxkl1cEEFXIv9yl5OGbLjEwngtq1qf5G/beLRvQ=
290-
github.com/libp2p/go-libp2p-routing-helpers v0.2.1/go.mod h1:rTLUHlGDZbXHANJAWP2xW7ruPNJLj41/GnCBiR+qgjU=
291+
github.com/libp2p/go-libp2p-routing-helpers v0.2.3 h1:xY61alxJ6PurSi+MXbywZpelvuU4U4p/gPTxjqCqTzY=
292+
github.com/libp2p/go-libp2p-routing-helpers v0.2.3/go.mod h1:795bh+9YeoFl99rMASoiVgHdi5bjack0N1+AFAdbvBw=
291293
github.com/libp2p/go-libp2p-secio v0.1.0/go.mod h1:tMJo2w7h3+wN4pgU2LSYeiKPrfqBgkOsdiKK77hE7c8=
292294
github.com/libp2p/go-libp2p-secio v0.2.0 h1:ywzZBsWEEz2KNTn5RtzauEDq5RFEefPsttXYwAWqHng=
293295
github.com/libp2p/go-libp2p-secio v0.2.0/go.mod h1:2JdZepB8J5V9mBp79BmwsaPQhRPNN2NrnB2lKQcdy6g=

0 commit comments

Comments
 (0)