Skip to content

Commit a5667a8

Browse files
authored
Merge pull request ethereum#1569 from carver/high-latency-discovery
Peer discovery on high-latency connection
2 parents f616298 + 417631b commit a5667a8

File tree

2 files changed

+7
-5
lines changed

2 files changed

+7
-5
lines changed

p2p/discovery.py

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -180,20 +180,22 @@ async def bond(self, node: kademlia.Node) -> bool:
180180

181181
if self.use_v5:
182182
token = self.send_ping_v5(node, [])
183+
log_version = "v5"
183184
else:
184185
token = self.send_ping_v4(node)
186+
log_version = "v4"
185187

186188
try:
187189
if self.use_v5:
188190
got_pong, _, _ = await self.wait_pong_v5(node, token)
189191
else:
190192
got_pong = await self.wait_pong_v4(node, token)
191193
except AlreadyWaitingDiscoveryResponse:
192-
self.logger.debug("bonding failed, already waiting for pong")
194+
self.logger.debug("bonding failed, awaiting %s pong from %s", log_version, node)
193195
return False
194196

195197
if not got_pong:
196-
self.logger.debug("bonding failed, didn't receive pong from %s", node)
198+
self.logger.debug("bonding failed, didn't receive %s pong from %s", log_version, node)
197199
self.routing.remove_node(node)
198200
return False
199201

@@ -569,7 +571,7 @@ def process_pong_v4(self, remote: kademlia.Node, token: Hash32) -> None:
569571
try:
570572
callback = self.pong_callbacks.get_callback(pingid)
571573
except KeyError:
572-
self.logger.debug('unexpected pong from %s (token == %s)', remote, encode_hex(token))
574+
self.logger.debug('unexpected v4 pong from %s (token == %s)', remote, encode_hex(token))
573575
else:
574576
callback()
575577

@@ -829,7 +831,7 @@ def process_pong_v5(self, remote: kademlia.Node, token: Hash32, raw_msg: bytes,
829831
try:
830832
callback = self.pong_callbacks.get_callback(pingid)
831833
except KeyError:
832-
self.logger.debug('unexpected pong from %s (token == %s)', remote, encode_hex(token))
834+
self.logger.debug('unexpected v5 pong from %s (token == %s)', remote, encode_hex(token))
833835
else:
834836
callback(raw_msg, wait_periods)
835837

p2p/kademlia.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@
3232
k_b = 8 # 8 bits per hop
3333

3434
k_bucket_size = 16
35-
k_request_timeout = 0.9 # timeout of message round trips
35+
k_request_timeout = 7.2 # timeout of message round trips
3636
k_idle_bucket_refresh_interval = 3600 # ping all nodes in bucket if bucket was idle
3737
k_find_concurrency = 3 # parallel find node lookups
3838
k_pubkey_size = 512

0 commit comments

Comments
 (0)