Reset pingresponder timer on SEND activity

This commit is contained in:
dave 2017-05-13 21:38:07 -07:00
parent fd51de7f84
commit 1a95add107
2 changed files with 7 additions and 6 deletions

View File

@ -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',

View File

@ -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()