mirror of
https://github.com/aljazceru/python-teos.git
synced 2025-12-18 06:34:19 +01:00
Bug fix: Properly initializes Responder
This commit is contained in:
@@ -1,6 +1,5 @@
|
|||||||
import zmq
|
import zmq
|
||||||
import binascii
|
import binascii
|
||||||
from queue import Queue
|
|
||||||
from threading import Thread, Event, Condition
|
from threading import Thread, Event, Condition
|
||||||
|
|
||||||
from common.logger import Logger
|
from common.logger import Logger
|
||||||
@@ -26,8 +25,8 @@ class ChainMonitor:
|
|||||||
self.zmqSubSocket.connect("%s://%s:%s" % (FEED_PROTOCOL, FEED_ADDR, FEED_PORT))
|
self.zmqSubSocket.connect("%s://%s:%s" % (FEED_PROTOCOL, FEED_ADDR, FEED_PORT))
|
||||||
|
|
||||||
self.watcher_queue = None
|
self.watcher_queue = None
|
||||||
self.watcher_asleep = True
|
|
||||||
self.responder_queue = None
|
self.responder_queue = None
|
||||||
|
self.watcher_asleep = True
|
||||||
self.responder_asleep = True
|
self.responder_asleep = True
|
||||||
|
|
||||||
def attach_watcher(self, queue, awake):
|
def attach_watcher(self, queue, awake):
|
||||||
|
|||||||
@@ -71,7 +71,6 @@ if __name__ == "__main__":
|
|||||||
last_block_responder = db_manager.load_last_block_hash_responder()
|
last_block_responder = db_manager.load_last_block_hash_responder()
|
||||||
|
|
||||||
# FIXME: 32-reorgs-offline dropped txs are not used at this point.
|
# FIXME: 32-reorgs-offline dropped txs are not used at this point.
|
||||||
responder = Responder(db_manager, chain_monitor)
|
|
||||||
last_common_ancestor_responder = None
|
last_common_ancestor_responder = None
|
||||||
missed_blocks_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)
|
missed_blocks_responder = block_processor.get_missed_blocks(last_common_ancestor_responder)
|
||||||
|
|
||||||
responder.trackers, responder.tx_tracker_map = Builder.build_trackers(responder_trackers_data)
|
watcher.responder.trackers, watcher.responder.tx_tracker_map = Builder.build_trackers(
|
||||||
responder.block_queue = Builder.build_block_queue(missed_blocks_responder)
|
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
|
# Build Watcher. If the blocks of both match we don't perform the search twice.
|
||||||
# search twice.
|
chain_monitor.attach_responder(watcher.responder.block_queue, watcher.responder.asleep)
|
||||||
watcher.responder = responder
|
|
||||||
chain_monitor.attach_responder(responder.block_queue, responder.asleep)
|
|
||||||
|
|
||||||
if last_block_watcher is not None:
|
if last_block_watcher is not None:
|
||||||
if last_block_watcher == last_block_responder:
|
if last_block_watcher == last_block_responder:
|
||||||
|
|||||||
@@ -68,7 +68,7 @@ class Watcher:
|
|||||||
self.signing_key = Cryptographer.load_private_key_der(sk_der)
|
self.signing_key = Cryptographer.load_private_key_der(sk_der)
|
||||||
|
|
||||||
if not isinstance(responder, Responder):
|
if not isinstance(responder, Responder):
|
||||||
self.responder = Responder(db_manager)
|
self.responder = Responder(db_manager, chain_monitor)
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def compute_locator(tx_id):
|
def compute_locator(tx_id):
|
||||||
|
|||||||
Reference in New Issue
Block a user