async def process(reader: StreamReader, writer: StreamWriter): host, port = writer.transport.get_extra_info('peername') logging.info(f'Connected to: {host}:{port}') factory = CommandFactory(reader, writer) while not writer.is_closing(): line = (await reader.readline()).decode().strip() command = factory.get_command(line) await command.execute() logging.info(f'Disconnected from {host}:{port}')
async def state_handler(writer: StreamWriter): while not writer.is_closing(): await asyncio.wait( [update_state(), send_state(writer), asyncio.sleep(step_seconds)])