Remove command chosing ladder in the singleWorker

This commit is contained in:
Dmitri Bogomolov 2021-09-05 17:42:05 +03:00
parent d1bf8dc711
commit 1c3b3f5487
Signed by untrusted user: g1itch
GPG Key ID: 720A756F18DEED13

View File

@ -149,52 +149,31 @@ class singleWorker(StoppableThread):
self.busy = 0
command, data = self.queue.get()
self.busy = 1
if command == 'sendmessage':
try:
self.sendMsg()
except: # noqa:E722
self.logger.warning("sendMsg didn't work")
elif command == 'sendbroadcast':
try:
self.sendBroadcast()
except: # noqa:E722
self.logger.warning("sendBroadcast didn't work")
elif command == 'doPOWForMyV2Pubkey':
try:
self.doPOWForMyV2Pubkey(data)
except: # noqa:E722
self.logger.warning("doPOWForMyV2Pubkey didn't work")
elif command == 'sendOutOrStoreMyV3Pubkey':
try:
self.sendOutOrStoreMyV3Pubkey(data)
except: # noqa:E722
self.logger.warning("sendOutOrStoreMyV3Pubkey didn't work")
elif command == 'sendOutOrStoreMyV4Pubkey':
try:
self.sendOutOrStoreMyV4Pubkey(data)
except: # noqa:E722
self.logger.warning("sendOutOrStoreMyV4Pubkey didn't work")
elif command == 'sendOnionPeerObj':
try:
self.sendOnionPeerObj(data)
except: # noqa:E722
self.logger.warning("sendOnionPeerObj didn't work")
elif command == 'resetPoW':
if command == 'resetPoW':
try:
proofofwork.resetPoW()
except: # noqa:E722
self.logger.warning("proofofwork.resetPoW didn't work")
except Exception:
self.logger.warning("resetPoW failed", exc_info=True)
self.queue.task_done()
continue
elif command == 'stopThread':
self.busy = 0
return
else:
try:
getattr(self, 'handle_{0}'.format(command))(data)
except AttributeError:
self.logger.error(
'Probable programming error: The command sent'
' to the workerThread is weird. It is: %s\n',
command
)
' to the workerThread is weird. It is: %s\n', command)
except Exception:
self.logger.error(
"Exception in the command handler for %s!",
command, exc_info=True)
self.queue.task_done()
self.logger.info("Quitting...")
def _getKeysForAddress(self, address):
@ -252,7 +231,7 @@ class singleWorker(StoppableThread):
payload = pack('>Q', nonce) + payload
return payload
def doPOWForMyV2Pubkey(self, adressHash):
def handle_doPOWForMyV2Pubkey(self, adressHash):
""" This function also broadcasts out the pubkey
message once it is done with the POW"""
# Look up my stream number based on my address hash
@ -311,7 +290,7 @@ class singleWorker(StoppableThread):
except: # noqa:E722
self.logger.warning("BMConfigParser().set didn't work")
def sendOutOrStoreMyV3Pubkey(self, adressHash):
def handle_sendOutOrStoreMyV3Pubkey(self, adressHash):
"""
If this isn't a chan address, this function assembles the pubkey data, does the necessary POW and sends it out.
If it *is* a chan then it assembles the pubkey and stores is in the pubkey table so that we can send messages
@ -397,7 +376,7 @@ class singleWorker(StoppableThread):
except: # noqa:E722
self.logger.warning("BMConfigParser().set didn't work")
def sendOutOrStoreMyV4Pubkey(self, myAddress):
def handle_sendOutOrStoreMyV4Pubkey(self, myAddress):
"""
It doesn't send directly anymore. It put is to a queue for another thread to send at an appropriate time,
whereas in the past it directly appended it to the outgoing buffer, I think. Same with all the other methods in
@ -489,7 +468,7 @@ class singleWorker(StoppableThread):
' to the keys.dat file. Error message: %s', err
)
def sendOnionPeerObj(self, peer=None):
def handle_sendOnionPeerObj(self, peer=None):
"""Send onionpeer object representing peer"""
if not peer: # find own onionhostname
for peer in state.ownAddresses:
@ -527,7 +506,7 @@ class singleWorker(StoppableThread):
hexlify(inventoryHash))
queues.UISignalQueue.put(('updateStatusBar', ''))
def sendBroadcast(self):
def handle_sendbroadcast(self, _):
"""Send a broadcast-type object (assemble the object, perform PoW and put it to the inv announcement queue)"""
# Reset just in case
sqlExecute(
@ -712,7 +691,7 @@ class singleWorker(StoppableThread):
inventoryHash, 'broadcastsent', int(time.time()), ackdata
)
def sendMsg(self):
def handle_sendmessage(self, _):
"""Send a message-type object (assemble the object, perform PoW and put it to the inv announcement queue)"""
# pylint: disable=too-many-nested-blocks
# Reset just in case