diff options
| author | 2019-06-06 17:05:44 +0100 | |
|---|---|---|
| committer | 2019-06-06 17:05:44 +0100 | |
| commit | a1ebe8035e9e9d13c28db258eeb983c6ee0f7202 (patch) | |
| tree | 171153e8b02dcaabff98a48a4a98b761eb1682d7 /src/IRCServer.py | |
| parent | Make `params` arg for logging functions optional (diff) | |
Split read/write/process in to 3 different threads
Diffstat (limited to 'src/IRCServer.py')
| -rw-r--r-- | src/IRCServer.py | 18 |
1 files changed, 8 insertions, 10 deletions
diff --git a/src/IRCServer.py b/src/IRCServer.py index a8bd12ea..e037eca7 100644 --- a/src/IRCServer.py +++ b/src/IRCServer.py @@ -207,14 +207,12 @@ class Server(IRCObject.Object): return utils.irc.hostmask_match(self.irc_lower(hostmask), self.irc_lower(pattern)) - def parse_data(self, line: str): - if not line: - return - - self.bot.log.debug("%s (raw recv) | %s", [str(self), line]) - self.events.on("raw.received").call_unsafe(server=self, - line=utils.irc.parse_line(line)) - self.check_users() + def _post_read(self, lines: typing.List[str]): + for line in lines: + self.bot.log.debug("%s (raw recv) | %s", [str(self), line]) + self.events.on("raw.received").call_unsafe(server=self, + line=utils.irc.parse_line(line)) + self.check_users() def check_users(self): for user in self.new_users: if not len(user.channels): @@ -261,8 +259,8 @@ class Server(IRCObject.Object): def send_raw(self, line: str): return self.send(utils.irc.parse_line(line)) - def _send(self): - lines = self.socket._send() + + def _post_send(self, lines: typing.List[IRCLine.SentLine]): for line in lines: self.bot.log.debug("%s (raw send) | %s", [ str(self), line.parsed_line.format()]) |
