skip the slow message 'leaking' functionality if tens of messages are queued waiting to be sent

This commit is contained in:
Jonathan Warren 2013-01-25 14:39:22 -05:00
parent 12f03fc891
commit b8df5976eb
1 changed files with 4 additions and 4 deletions

View File

@ -1162,7 +1162,6 @@ class receiveDataThread(QThread):
printLock.release() printLock.release()
return return
if addressVersion == 2: if addressVersion == 2:
print 'within recpubkey, the self.payloadLength is', self.payloadLength,'. It should be 146.'
if self.payloadLength < 146: #sanity check. This is the minimum possible length. if self.payloadLength < 146: #sanity check. This is the minimum possible length.
print 'payloadLength less than 146. Sanity check failed.' print 'payloadLength less than 146. Sanity check failed.'
return return
@ -1819,9 +1818,10 @@ class sendDataThread(QThread):
self.streamNumber = specifiedStreamNumber self.streamNumber = specifiedStreamNumber
elif command == 'send': elif command == 'send':
try: try:
#To prevent some network analysis, 'leak' the data out to our peer after waiting a random amount of time. #To prevent some network analysis, 'leak' the data out to our peer after waiting a random amount of time unless we have a long list of messages in our queue to send.
random.seed() if self.mailbox.qsize() < 20:
time.sleep(random.randrange(0, 10)) random.seed()
time.sleep(random.randrange(0, 10))
self.sock.sendall(data) self.sock.sendall(data)
self.lastTimeISentData = int(time.time()) self.lastTimeISentData = int(time.time())
except: except: