From: Christian Heller <c.heller@plomlompom.de>
Date: Fri, 30 May 2025 13:20:28 +0000 (+0200)
Subject: Move PING processing out of SocketRecvLoop.
X-Git-Url: https://plomlompom.com/repos/%22https:/validator.w3.org/static/blog?a=commitdiff_plain;h=a49d4af21edc046b453faa34be9a656f9debbf03;p=ircplom

Move PING processing out of SocketRecvLoop.
---

diff --git a/ircplom.py b/ircplom.py
index b090868..ddea13e 100755
--- a/ircplom.py
+++ b/ircplom.py
@@ -408,10 +408,7 @@ class SocketRecvLoop(Loop):
     'Loop receiving and translating socket messages towards main loop.'
 
     def process_bonus(self, yielded: str) -> None:
-        msg = IrcMessage.from_raw(yielded)
-        if msg.verb == 'PING':
-            self.broadcast('PING', msg.parameters[0])
-        self.broadcast('RECV', str(msg))
+        self.broadcast('RECV', IrcMessage.from_raw(yielded))
 
 
 class KeyboardLoop(Loop):
@@ -447,9 +444,12 @@ def run() -> None:
                     raise event.payload
                 if event.type_ == 'SEND':
                     event.payload.send(conn)
-                elif event.type_ == 'PING':
-                    q_to_main.put(
-                        Event('SEND', IrcMessage('PONG', [event.payload])))
+                elif event.type_ == 'RECV':
+                    msg: IrcMessage = event.payload
+                    if msg.verb == 'PING':
+                        q_to_main.put(
+                                Event('SEND',
+                                      IrcMessage('PONG', [msg.parameters[0]])))
 
 
 if __name__ == '__main__':