p2p/net/swarm: configurable timeout for tests

This commit is contained in:
Juan Batiz-Benet 2015-01-13 08:12:45 -08:00
parent af889dc182
commit 9689b280e6
2 changed files with 6 additions and 2 deletions

View File

@ -4,6 +4,7 @@ package swarm
import (
"fmt"
"time"
inet "github.com/jbenet/go-ipfs/p2p/net"
addrutil "github.com/jbenet/go-ipfs/p2p/net/swarm/addr"
@ -32,8 +33,10 @@ type Swarm struct {
local peer.ID
peers peer.Peerstore
connh ConnHandler
dsync dialsync
backf dialbackoff
dialT time.Duration // mainly for tests
cg ctxgroup.ContextGroup
}
@ -55,6 +58,7 @@ func NewSwarm(ctx context.Context, listenAddrs []ma.Multiaddr,
local: local,
peers: peers,
cg: ctxgroup.WithContext(ctx),
dialT: DialTimeout,
}
// configure Swarm

View File

@ -210,7 +210,7 @@ func (s *Swarm) Dial(ctx context.Context, p peer.ID) (*Conn, error) {
// ok, we have been charged to dial! let's do it.
// if it succeeds, dial will add the conn to the swarm itself.
log.Debugf("dial start")
ctxT, _ := context.WithTimeout(ctx, DialTimeout)
ctxT, _ := context.WithTimeout(ctx, s.dialT)
conn, err = s.dial(ctxT, p)
s.dsync.Unlock(p)
log.Debugf("dial end %s", conn)
@ -264,7 +264,7 @@ func (s *Swarm) dial(ctx context.Context, p peer.ID) (*Conn, error) {
d := &conn.Dialer{
Dialer: manet.Dialer{
Dialer: net.Dialer{
Timeout: DialTimeout,
Timeout: s.dialT,
},
},
LocalPeer: s.local,