tlnpeer: channel_reestablished is now a queue (instead of future) - electrum - Electrum Bitcoin wallet HTML git clone https://git.parazyd.org/electrum DIR Log DIR Files DIR Refs DIR Submodules --- DIR commit bdbc662a364e1511e5c0a01793bc3e7d2501da1f DIR parent 0d84873a75b85f5f3a80985f6e4e3e9d324641de HTML Author: SomberNight <somber.night@protonmail.com> Date: Fri, 2 Aug 2019 19:57:56 +0200 lnpeer: channel_reestablished is now a queue (instead of future) Diffstat: M electrum/lnpeer.py | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) --- DIR diff --git a/electrum/lnpeer.py b/electrum/lnpeer.py t@@ -75,7 +75,7 @@ class Peer(Logger): # channel messsage queues self.shutdown_received = defaultdict(asyncio.Future) self.channel_accepted = defaultdict(asyncio.Queue) - self.channel_reestablished = defaultdict(asyncio.Future) + self.channel_reestablished = defaultdict(asyncio.Queue) self.funding_signed = defaultdict(asyncio.Queue) self.funding_created = defaultdict(asyncio.Queue) self.announcement_signatures = defaultdict(asyncio.Queue) t@@ -127,11 +127,10 @@ class Peer(Logger): asyncio.ensure_future(execution_result) def on_error(self, payload): - # todo: self.channel_reestablished is not a queue self.logger.info(f"error {payload['data'].decode('ascii')}") chan_id = payload.get("channel_id") for d in [ self.channel_accepted, self.funding_signed, - self.funding_created, + self.funding_created, self.channel_reestablished, self.announcement_signatures, self.closing_signed ]: if chan_id in d: d[chan_id].put_nowait({'error':payload['data']}) t@@ -676,7 +675,7 @@ class Peer(Logger): if not chan: self.logger.info(f"Received unknown channel_reestablish {bh2u(chan_id)} {payload}") raise Exception('Unknown channel_reestablish') - self.channel_reestablished[chan_id].set_result(payload) + self.channel_reestablished[chan_id].put_nowait(payload) def try_to_get_remote_to_force_close_with_their_latest(self, chan_id): self.logger.info(f"trying to get remote to force close {bh2u(chan_id)}") t@@ -721,7 +720,7 @@ class Peer(Logger): next_local_commitment_number=chan.config[LOCAL].ctn+1, next_remote_revocation_number=current_remote_ctn) - channel_reestablish_msg = await self.channel_reestablished[chan_id] + channel_reestablish_msg = await self.channel_reestablished[chan_id].get() chan.set_state('OPENING') # compare remote ctns their_next_local_ctn = int.from_bytes(channel_reestablish_msg["next_local_commitment_number"], 'big')