From 26a44fcc0626ee2de17e70790ec95ff1ea315bed Mon Sep 17 00:00:00 2001 From: Juan Batiz-Benet Date: Mon, 8 Dec 2014 21:55:51 -0800 Subject: [PATCH] dht: comment for asyncQueryBuffer --- routing/dht/routing.go | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/routing/dht/routing.go b/routing/dht/routing.go index f6442b1f1..aeced86b1 100644 --- a/routing/dht/routing.go +++ b/routing/dht/routing.go @@ -13,6 +13,12 @@ import ( u "github.com/jbenet/go-ipfs/util" ) +// asyncQueryBuffer is the size of buffered channels in async queries. This +// buffer allows multiple queries to execute simultaneously, return their +// results and continue querying closer peers. Note that different query +// results will wait for the channel to drain. +var asyncQueryBuffer = 10 + // This file implements the Routing interface for the IpfsDHT struct. // Basic Put/Get @@ -272,7 +278,7 @@ func (dht *IpfsDHT) FindPeer(ctx context.Context, id peer.ID) (peer.Peer, error) // FindPeersConnectedToPeer searches for peers directly connected to a given peer. func (dht *IpfsDHT) FindPeersConnectedToPeer(ctx context.Context, id peer.ID) (<-chan peer.Peer, error) { - peerchan := make(chan peer.Peer, 10) + peerchan := make(chan peer.Peer, asyncQueryBuffer) peersSeen := map[string]peer.Peer{} routeLevel := 0