From 68618f3fb8e7be9b2866575222944f09e36a64ee Mon Sep 17 00:00:00 2001 From: Brian Tiger Chow Date: Wed, 5 Nov 2014 06:48:08 -0800 Subject: [PATCH] fix(net) use Do to respect the caller's context --- net/net.go | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/net/net.go b/net/net.go index ed648c976..be62f84a9 100644 --- a/net/net.go +++ b/net/net.go @@ -5,6 +5,7 @@ import ( mux "github.com/jbenet/go-ipfs/net/mux" swarm "github.com/jbenet/go-ipfs/net/swarm" peer "github.com/jbenet/go-ipfs/peer" + util "github.com/jbenet/go-ipfs/util" ctxc "github.com/jbenet/go-ipfs/util/ctxcloser" context "github.com/jbenet/go-ipfs/Godeps/_workspace/src/code.google.com/p/go.net/context" @@ -56,9 +57,13 @@ func NewIpfsNetwork(ctx context.Context, listen []ma.Multiaddr, local peer.Peer, // Listen handles incoming connections on given Multiaddr. // func (n *IpfsNetwork) Listen(*ma.Muliaddr) error {} -// DialPeer attempts to establish a connection to a given peer +// DialPeer attempts to establish a connection to a given peer. +// Respects the context. func (n *IpfsNetwork) DialPeer(ctx context.Context, p peer.Peer) error { - _, err := n.swarm.Dial(p) + err := util.Do(ctx, func() error { + _, err := n.swarm.Dial(p) + return err + }) return err }