move managing each task of read/written data from to Bot

This commit is contained in:
jesopo 2020-04-02 00:10:59 +01:00
parent 0029506118
commit 1b9b12cb1e
2 changed files with 5 additions and 8 deletions

View file

@ -40,10 +40,13 @@ class Bot(object):
async def _read():
while not tg.cancel_scope.cancel_called:
lines = await server._read_lines()
for line, emits in lines:
for emit in emits:
await self.emit_read(server, emit)
await self.line_read(server, line)
await tg.spawn(server._on_read_emit, line, emit)
await tg.spawn(self.emit_read, server, emit)
await tg.spawn(server._on_read_line, line)
await tg.spawn(self.line_read, server, line)
await tg.cancel_scope.cancel()
async def _write():

View file

@ -66,7 +66,6 @@ class Server(IServer):
elif emit.subcommand in ["ACK", "NAK"]:
await self._cap_ack(emit)
async def _on_read_line(self, line: Line):
if line.command == "PING":
await self.send(build("PONG", line.params))
@ -74,11 +73,6 @@ class Server(IServer):
async def _read_lines(self) -> List[Tuple[Line, List[Emit]]]:
data = await self._reader.read(1024)
lines = self.recv(data)
for line, emits in lines:
for emit in emits:
await self._on_read_emit(line, emit)
await self._on_read_line(line)
return lines
async def line_written(self, line: Line):