есть у нас asyncio, у него есть набор протоколов (asyncio.protocols.Protocol, asyncio.protocols.DatagramProtocol, asyncio.protocols.SubprocessProtocol) которые представляют собой классы, в которых реализован некоторый набор синхронных коллбэков для работы с данными (у каждого немного отличается)
я сейчас для себя набросал DataRouter - штуку которая умеет получать данные (передаются в корутину-коллбэк) и распределять их по хендлерам в зависимости от того что пришло
И вот в чём вопрос: Как бы так совокупить мою штуку и эти самые протоколы?
Сделать один класс который будет универсально подходить ко всем типам протоколов и заливающий данные в DataRouter? Или сделать три разных класса в которых прописать передачу полученных в коллбэк данных в DataRouter?
Стоит ли применять класс DataRouter как миксин для протоколов или приделать его отдельно?