Reset pingresponder timer on SEND activity
This commit is contained in:
parent
fd51de7f84
commit
1a95add107
|
@ -134,11 +134,10 @@ class IRCCore(object):
|
||||||
self.fire_hook(command, args=args, prefix=prefix, trailing=trailing)
|
self.fire_hook(command, args=args, prefix=prefix, trailing=trailing)
|
||||||
|
|
||||||
def sendRaw(self, data):
|
def sendRaw(self, data):
|
||||||
self.log.warning(">>> {}".format(repr(data)))
|
self.log.debug(">>> {}".format(repr(data)))
|
||||||
|
self.fire_hook('_SEND', args=None, prefix=None, trailing=None)
|
||||||
self.writer.write((data + "\r\n").encode("UTF-8"))
|
self.writer.write((data + "\r\n").encode("UTF-8"))
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
" Module related code "
|
" Module related code "
|
||||||
def initHooks(self):
|
def initHooks(self):
|
||||||
"""Defines hooks that modules can listen for events of"""
|
"""Defines hooks that modules can listen for events of"""
|
||||||
|
@ -146,6 +145,7 @@ class IRCCore(object):
|
||||||
'_CONNECT',
|
'_CONNECT',
|
||||||
'_DISCONNECT',
|
'_DISCONNECT',
|
||||||
'_RECV',
|
'_RECV',
|
||||||
|
'_SEND',
|
||||||
'NOTICE',
|
'NOTICE',
|
||||||
'MODE',
|
'MODE',
|
||||||
'PING',
|
'PING',
|
||||||
|
|
|
@ -18,7 +18,8 @@ class PingResponder(ModuleBase):
|
||||||
self.timer = PingRespondTimer(self)
|
self.timer = PingRespondTimer(self)
|
||||||
self.hooks = [
|
self.hooks = [
|
||||||
ModuleHook("PING", self.pingrespond),
|
ModuleHook("PING", self.pingrespond),
|
||||||
ModuleHook("_RECV", self.resettimer)
|
ModuleHook("_RECV", self.resettimer),
|
||||||
|
ModuleHook("_SEND", self.resettimer)
|
||||||
]
|
]
|
||||||
|
|
||||||
def pingrespond(self, args, prefix, trailing):
|
def pingrespond(self, args, prefix, trailing):
|
||||||
|
@ -56,8 +57,8 @@ class PingRespondTimer(Thread):
|
||||||
def run(self):
|
def run(self):
|
||||||
while self.alive:
|
while self.alive:
|
||||||
sleep(5)
|
sleep(5)
|
||||||
if time() - self.lastping > 300: # TODO: configurable timeout
|
if time() - self.lastping > self.config.get("activity_timeout", 300):
|
||||||
self.master.log.info("No pings in %s seconds. Reconnecting" % str(time() - self.lastping))
|
self.master.log.info("No activity in %s seconds. Reconnecting" % str(time() - self.lastping))
|
||||||
self.master.bot.disconnect("Reconnecting...")
|
self.master.bot.disconnect("Reconnecting...")
|
||||||
self.reset()
|
self.reset()
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue