Привет, пишу tcp сервер (или клиент, неважно) на asyncio, как реализовать лимит скорости? Пока додумался только делать словарь типа «таймстамп»:«размер» , пополнять его на каждый data_received() или self.transport.send() и считать среднюю скорость за последние 10 секунд, ну и периодически чистить из словаря старые данные. Если скорость превышена, то начинаем бить буфер на чанки и спать асинхронно. Вроде работает но не покидает ощущение что это костыль.. В Гугле по словам «python asyncio network speed limit» ноль инфы. Ещё прикол что этот словарь получается глобальный, и как бы не было race condition при доступе к нему из разных экземпляров класса asyncio.Protocol.
Поделитесь best practices, спасибо.