NoDial option now effective within AddPeer -> returns error

This commit is contained in:
zelig 2015-01-07 18:49:57 +00:00
parent caa651aaec
commit 13ca81544b

View file

@ -60,6 +60,8 @@ type Server struct {
Dialer *net.Dialer Dialer *net.Dialer
// If NoDial is true, the server will not dial any peers. // If NoDial is true, the server will not dial any peers.
// this maybe used in test environments where we want to prevent a node from
// connecting (and synchronising) with other nodes
NoDial bool NoDial bool
// peer selector // peer selector
@ -144,9 +146,10 @@ func (srv *Server) SuggestPeer(addr string, pubkey []byte) error {
// If not found among connected peers turns to the peerSelector // If not found among connected peers turns to the peerSelector
// to decide if it is a worthwhile connection // to decide if it is a worthwhile connection
func (srv *Server) AddPeer(addr *peerAddr) (err error) { func (srv *Server) AddPeer(addr *peerAddr) (err error) {
if srv.NoDial {
return fmt.Errorln("no dial out")
}
// need to look up nodeID first // need to look up nodeID first
srvlog.Infof("checking peer %v", addr)
peer := &Peer{ peer := &Peer{
dialAddr: addr, dialAddr: addr,
lastActiveC: make(chan time.Time), lastActiveC: make(chan time.Time),
@ -256,13 +259,6 @@ func (srv *Server) Start() (err error) {
return err return err
} }
} }
// if !srv.NoDial {
// srv.wg.Add(1)
// go srv.dialLoop()
// }
if srv.NoDial && srv.ListenAddr == "" {
srvlog.Warnln("I will be kind-of useless, neither dialing nor listening.")
}
if srv.PeerSelector == nil { if srv.PeerSelector == nil {
srv.PeerSelector = &BaseSelector{} srv.PeerSelector = &BaseSelector{}