Bug fix: Properly initializes Responder

This commit is contained in:
Sergi Delgado Segura
2020-01-03 11:37:26 +01:00
parent 8fab59975f
commit c594018dce
3 changed files with 8 additions and 10 deletions

View File

@@ -1,6 +1,5 @@
import zmq
import binascii
from queue import Queue
from threading import Thread, Event, Condition
from common.logger import Logger
@@ -26,8 +25,8 @@ class ChainMonitor:
self.zmqSubSocket.connect("%s://%s:%s" % (FEED_PROTOCOL, FEED_ADDR, FEED_PORT))
self.watcher_queue = None
self.watcher_asleep = True
self.responder_queue = None
self.watcher_asleep = True
self.responder_asleep = True
def attach_watcher(self, queue, awake):

View File

@@ -71,7 +71,6 @@ if __name__ == "__main__":
last_block_responder = db_manager.load_last_block_hash_responder()
# FIXME: 32-reorgs-offline dropped txs are not used at this point.
responder = Responder(db_manager, chain_monitor)
last_common_ancestor_responder = None
missed_blocks_responder = None
@@ -82,13 +81,13 @@ if __name__ == "__main__":
)
missed_blocks_responder = block_processor.get_missed_blocks(last_common_ancestor_responder)
responder.trackers, responder.tx_tracker_map = Builder.build_trackers(responder_trackers_data)
responder.block_queue = Builder.build_block_queue(missed_blocks_responder)
watcher.responder.trackers, watcher.responder.tx_tracker_map = Builder.build_trackers(
responder_trackers_data
)
watcher.responder.block_queue = Builder.build_block_queue(missed_blocks_responder)
# Build Watcher with Responder and backed up data. If the blocks of both match we don't perform the
# search twice.
watcher.responder = responder
chain_monitor.attach_responder(responder.block_queue, responder.asleep)
# Build Watcher. If the blocks of both match we don't perform the search twice.
chain_monitor.attach_responder(watcher.responder.block_queue, watcher.responder.asleep)
if last_block_watcher is not None:
if last_block_watcher == last_block_responder:

View File

@@ -68,7 +68,7 @@ class Watcher:
self.signing_key = Cryptographer.load_private_key_der(sk_der)
if not isinstance(responder, Responder):
self.responder = Responder(db_manager)
self.responder = Responder(db_manager, chain_monitor)
@staticmethod
def compute_locator(tx_id):