Skip to content

Commit

Permalink
call find nodes before connecting
Browse files Browse the repository at this point in the history
  • Loading branch information
heikoheiko committed Apr 10, 2015
1 parent 2fcec5e commit 1a45b69
Showing 1 changed file with 7 additions and 4 deletions.
11 changes: 7 additions & 4 deletions devp2p/peermanager.py
Original file line number Diff line number Diff line change
Expand Up @@ -128,19 +128,22 @@ def num_peers(self):
def _run(self):
log.info('waiting for bootstrap')
gevent.sleep(3)
loop_delay = 1
while True:
#log.info('in loop', num_peers=len(self.peers))
num_peers, min_peers = self.num_peers(), self.config['p2p']['min_peers']
routing = self.app.services.discovery.protocol.kademlia.routing
kademlia_proto = self.app.services.discovery.protocol.kademlia
if num_peers < min_peers:
log.info('missing peers', num_peers=num_peers,
min_peers=min_peers, known=len(routing))
min_peers=min_peers, known=len(kademlia_proto.routing))
nodeid = kademlia.random_nodeid()
neighbours = routing.neighbours(nodeid, 1)
kademlia_proto.find_node(nodeid) # fixme, should be a task
gevent.sleep(2) # wait for results
neighbours = kademlia_proto.routing.neighbours(nodeid, 1)
node = neighbours[0]
log.info('connecting random', node=node)
self.connect((node.address.ip, node.address.port), node.pubkey)
gevent.sleep(1)
gevent.sleep(loop_delay)

evt = gevent.event.Event()
evt.wait()
Expand Down

0 comments on commit 1a45b69

Please sign in to comment.