connector

This commit is contained in:
4tochka 2019-05-02 00:30:36 +04:00
parent c2afeb06cf
commit 45a447ac05

View File

@ -63,8 +63,7 @@ class Connector:
self.block_dependency_tx = 0 # counter of tx that have dependencies in block self.block_dependency_tx = 0 # counter of tx that have dependencies in block
self.active = True self.active = True
self.get_next_block_mutex = asyncio.Future() self.get_next_block_mutex = False
self.get_next_block_mutex.set_result(True)
self.active_block = asyncio.Future() self.active_block = asyncio.Future()
self.active_block.set_result(True) self.active_block.set_result(True)
self.last_zmq_msg = int(time.time()) self.last_zmq_msg = int(time.time())
@ -272,10 +271,10 @@ class Connector:
async def get_next_block(self): async def get_next_block(self):
if self.active: if self.active:
if not self.get_next_block_mutex.done(): if self.get_next_block_mutex:
await self.get_next_block_mutex return
try: try:
self.get_next_block_mutex = asyncio.Future() self.get_next_block_mutex = True
if self.node_last_block <= self.last_block_height + self.backlog: if self.node_last_block <= self.last_block_height + self.backlog:
d = await self.rpc.getblockcount() d = await self.rpc.getblockcount()
@ -308,7 +307,7 @@ class Connector:
except Exception as err: except Exception as err:
self.log.error("get next block failed %s" % str(err)) self.log.error("get next block failed %s" % str(err))
finally: finally:
self.get_next_block_mutex.set_result(True) self.get_next_block_mutex = False
async def _get_block_by_hash(self, hash): async def _get_block_by_hash(self, hash):
self.log.debug("get block by hash %s" % hash) self.log.debug("get block by hash %s" % hash)