Twisted: Send all available ircmsgs and reduce delay between checks

All ircmsgs that takeMsg will return should be processed each time
checkIrcForMsgs is called since there may be multiple available in the
fastqueue.

Reduced the time between calls of checkIrcForMsgs so the delay between
normally queued ircmsgs stays close to the configured throttleTime.

Closes: Sf#3018148
(cherry picked from commit adc5d62bbf6b89631ab25e9b5f5707bde0b06709)
This commit is contained in:
James Vega 2010-06-18 20:33:43 -04:00
parent ff760d1c69
commit 8d5e4ba624

View File

@ -66,7 +66,7 @@ class SupyIrcProtocol(LineReceiver):
delimiter = '\n'
MAX_LENGTH = 1024
def __init__(self):
self.mostRecentCall = reactor.callLater(1, self.checkIrcForMsgs)
self.mostRecentCall = reactor.callLater(0.1, self.checkIrcForMsgs)
def lineReceived(self, line):
msg = drivers.parseMsg(line)
@ -76,9 +76,10 @@ class SupyIrcProtocol(LineReceiver):
def checkIrcForMsgs(self):
if self.connected:
msg = self.irc.takeMsg()
if msg:
while msg:
self.transport.write(str(msg))
self.mostRecentCall = reactor.callLater(1, self.checkIrcForMsgs)
msg = self.irc.takeMsg()
self.mostRecentCall = reactor.callLater(0.1, self.checkIrcForMsgs)
def connectionLost(self, r):
self.mostRecentCall.cancel()