lnworker.reestablish_peer_for_given_channel: give each addr a chance

follow-up fa0ef9c548
This commit is contained in:
SomberNight 2020-03-06 15:13:18 +01:00
parent b36e9a6451
commit 35a8812534
No known key found for this signature in database
GPG key ID: B33B5F232C6271E9

View file

@ -1336,7 +1336,15 @@ class LNWallet(LNWorker):
peer_addresses.append(LNPeerAddr(host, port, chan.node_id))
# will try addresses stored in channel storage
peer_addresses += list(chan.get_peer_addresses())
# now select first one that has not failed recently
# Now select first one that has not failed recently.
# Use long retry interval to check. This ensures each address we gathered gets a chance.
for peer in peer_addresses:
last_tried = self._last_tried_peer.get(peer, 0)
if last_tried + PEER_RETRY_INTERVAL < now:
await self._add_peer(peer.host, peer.port, peer.pubkey)
return
# Still here? That means all addresses failed ~recently.
# Use short retry interval now.
for peer in peer_addresses:
last_tried = self._last_tried_peer.get(peer, 0)
if last_tried + PEER_RETRY_INTERVAL_FOR_CHANNELS < now: