+ added clear offline peers to new communicator
+ fixed unable to insert unencrypted blockmaster
parent
829dba45cc
commit
9968a72fbc
|
@ -63,6 +63,7 @@ class OnionrCommunicatorDaemon:
|
|||
OnionrCommunicatorTimers(self, self.getOnlinePeers, 60)
|
||||
OnionrCommunicatorTimers(self, self.lookupBlocks, 7)
|
||||
OnionrCommunicatorTimers(self, self.getBlocks, 10)
|
||||
OnionrCommunicatorTimers(self, self.clearOfflinePeer, 120)
|
||||
#TODO: sync keys/peers
|
||||
|
||||
# Main daemon loop, mainly for calling timers, do not do any complex operations here
|
||||
|
@ -146,6 +147,14 @@ class OnionrCommunicatorDaemon:
|
|||
self.threadCounts[threadName] -= 1
|
||||
except KeyError:
|
||||
pass
|
||||
|
||||
def clearOfflinePeer(self):
|
||||
'''Removes the longest offline peer to retry later'''
|
||||
try:
|
||||
self.offlinePeers.pop(0)
|
||||
except IndexError:
|
||||
pass
|
||||
self.decrementThreadCount('clearOfflinePeer')
|
||||
|
||||
def getOnlinePeers(self):
|
||||
'''Manages the self.onlinePeers attribute list'''
|
||||
|
|
|
@ -683,10 +683,10 @@ class Core:
|
|||
|
||||
jsonMeta = json.dumps(meta)
|
||||
|
||||
if encryptType in ('asym', 'sym'):
|
||||
if encryptType in ('asym', 'sym', ''):
|
||||
metadata['encryptType'] = encryptType
|
||||
else:
|
||||
raise onionrexceptions.InvalidMetadata('encryptType must be asym or sym')
|
||||
raise onionrexceptions.InvalidMetadata('encryptType must be asym or sym, or blank')
|
||||
|
||||
# sign before encrypt, as unauthenticated crypto should not be a problem here
|
||||
if sign:
|
||||
|
|
Loading…
Reference in New Issue