def _write_line(self, line: str) -> None:
'Send line-separator-delimited message over socket.'
if not self._assumed_open:
- self._q_to_main.eput('ALERT',
- 'cannot send, assuming connection closed')
+ self._broadcast('CONN_ALERT',
+ 'cannot send, assuming connection closed')
return
self._socket.sendall(line.encode('utf-8') + IRCSPEC_LINE_SEPARATOR)
elif event.type_ == 'ALERT':
self.window.log.append(f'{event.type_} {event.payload}')
self.window.log.draw()
+ elif event.type_ in {'RECV', 'SEND', 'CONN_ALERT'}:
+ conn_win = self._conn_windows[event.payload[0]]
+ if event.type_ == 'CONN_ALERT':
+ msg = f'ALERT {event.payload[1]}'
+ else:
+ msg = (('<-' if event.type_ == 'RECV' else '->')
+ + event.payload[1].raw)
+ conn_win.log.append(msg)
+ if conn_win == self.window:
+ self.window.log.draw()
elif event.type_ in {'RECV', 'SEND'}:
conn_win = self._conn_windows[event.payload[0]]
prefix = '<-' if event.type_ == 'RECV' else '->'