Пишу ходилку телнетом по железякам. Ходить она будет параллельно. Количество железяк 50+ .
Делаю на python (либа telnetlib3 на asincio )
Вот пример клиента telnet из документации:
import asyncio, telnetlib3
@asyncio.coroutine
def shell(reader, writer):
    while True:
        # read stream until '?' mark is found
        outp = yield from reader.read(1024)
        if not outp:
            # End of File
            break
        elif '?' in outp:
            # reply all questions with 'y'.
            writer.write('y')
        # display all server output
        print(outp, flush=True)
    # EOF
    print()
loop = asyncio.get_event_loop()
coro = telnetlib3.open_connection('localhost', 6023, shell=shell)
reader, writer = loop.run_until_complete(coro)
loop.run_until_complete(writer.protocol.waiter_closed)
Подскажите, пожалуйста, как правильно вернуть результат работы асинхронной функции shell в синхронный код в конце после run_until_complete.
Через rerutn не подходит, т.к. open_connection возвращает reader, writer

