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

Ответ на:
комментарий
от firkax
Ответ на:
комментарий
от cobold

Ответ на:
комментарий
от rupert

Ответ на:
комментарий
от cobold
Ответ на:
комментарий
от Bers666
Ответ на:
комментарий
от firkax
Ответ на:
комментарий
от Bers666
Ответ на:
комментарий
от Bers666
Ответ на:
комментарий
от Bers666
Ответ на:
комментарий
от rtxtxtrx
Ответ на:
комментарий
от anonymous
Ответ на:
комментарий
от firkax
Ответ на:
комментарий
от rtxtxtrx
Ответ на:
комментарий
от Bers666
Ответ на:
комментарий
от rtxtxtrx
Ответ на:
комментарий
от x905
Ответ на:
комментарий
от Bers666
Ответ на:
комментарий
от Bers666
Ответ на:
комментарий
от x905
Ответ на:
комментарий
от x905
Ответ на:
комментарий
от Bers666
Ответ на:
комментарий
от Bers666

Ответ на:
комментарий
от no-dashi-v2

Ответ на:
комментарий
от cobold
Ответ на:
комментарий
от MOPKOBKA
Ответ на:
комментарий
от MOPKOBKA

Ответ на:
комментарий
от cobold
Ответ на:
комментарий
от cobold
Ответ на:
комментарий
от cobold
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.