Добавление методов в асинхронный транспорт

Можно ли добавить новые методы в стандартный асинхронный транспорт?

например: добавление метода отправки к транспорту SSL, который сериализует буфер протокола, создает фрейм и использует собственный метод записи транспорта для выполнения буферизованной записи в базовый сокет.

Существует множество примеров серверов/клиентов asyncio, но мне не удалось найти таких, которые реализуют собственный транспорт или расширяют уже существующий.


person Cshark    schedule 14.01.2015    source источник


Ответы (1)


Нет. Вы не можете добавить новый метод или наследовать существующий асинхронный транспорт. Считайте транспорты окончательными или запечатанными, как и сокеты.

Вы никогда не должны хотеть наследовать от сокета, но сделать свой класс, который встраивает экземпляр сокета внутрь, верно?

То же самое для транспорта. См. asyncio.streams в качестве примера создания нового уровня API поверх пары транспорт/протокол.

person Andrew Svetlov    schedule 16.01.2015