move managing each task of read/written data from to Bot
This commit is contained in:
parent
0029506118
commit
1b9b12cb1e
2 changed files with 5 additions and 8 deletions
|
@ -40,10 +40,13 @@ class Bot(object):
|
||||||
async def _read():
|
async def _read():
|
||||||
while not tg.cancel_scope.cancel_called:
|
while not tg.cancel_scope.cancel_called:
|
||||||
lines = await server._read_lines()
|
lines = await server._read_lines()
|
||||||
|
|
||||||
for line, emits in lines:
|
for line, emits in lines:
|
||||||
for emit in emits:
|
for emit in emits:
|
||||||
await self.emit_read(server, emit)
|
await tg.spawn(server._on_read_emit, line, emit)
|
||||||
await self.line_read(server, line)
|
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()
|
await tg.cancel_scope.cancel()
|
||||||
|
|
||||||
async def _write():
|
async def _write():
|
||||||
|
|
|
@ -66,7 +66,6 @@ class Server(IServer):
|
||||||
elif emit.subcommand in ["ACK", "NAK"]:
|
elif emit.subcommand in ["ACK", "NAK"]:
|
||||||
await self._cap_ack(emit)
|
await self._cap_ack(emit)
|
||||||
|
|
||||||
|
|
||||||
async def _on_read_line(self, line: Line):
|
async def _on_read_line(self, line: Line):
|
||||||
if line.command == "PING":
|
if line.command == "PING":
|
||||||
await self.send(build("PONG", line.params))
|
await self.send(build("PONG", line.params))
|
||||||
|
@ -74,11 +73,6 @@ class Server(IServer):
|
||||||
async def _read_lines(self) -> List[Tuple[Line, List[Emit]]]:
|
async def _read_lines(self) -> List[Tuple[Line, List[Emit]]]:
|
||||||
data = await self._reader.read(1024)
|
data = await self._reader.read(1024)
|
||||||
lines = self.recv(data)
|
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
|
return lines
|
||||||
|
|
||||||
async def line_written(self, line: Line):
|
async def line_written(self, line: Line):
|
||||||
|
|
Loading…
Add table
Reference in a new issue