Алгоритмы ограничения трафика

Ограничение трафика может быть реализовано с помощью разных алгоритмов, у каждого из которых есть определенные преимущества и недостатки. - алгоритм маркерной корзины (token bucket); - алгоритм дырявого ведра (leaking bucket); - счетчик фиксированных интервалов (fixed window counter); - журнал скользящих интервалов (sliding window log);

AsycnIO. Часть 7

# asyncio.gather `asyncio.gather` является удобным способом запуска нескольких корутин параллельно и ожидания их завершения. Функция принимает несколько аргументов - корутин или объектов `Task`, которые нужно запустить, и возвращает объект `Future`, который будет завершен, когда все переданные корутины завершатся. Возвращаемое значение функции `asyncio.gather` - это список с результатами выполнения переданных корутин или объектов `Task`. Результаты возвращаются в том же порядке, в котором переданные корутины были переданы в функцию.

Pytest. Тестирование с помощью Pytest + mock

#Основные возможности ## pytest.mark.parametrize Используется в Pytest для параметризации тестовых функций. Позволяет определить набор входных данных для тестовой функции и запустить эту функцию несколько раз для каждого набора данных.

Хэш таблица на языке без использования словаря. Python

```python class HashTable: def __init__(self, size): self.size = size self.data = [None] * size

TCP_SOCKET и TIME_WAIT

TCP сокет может находиться в состоянии TIME_WAIT в течение 2*MSL (Maximum Segment Lifetime), где MSL - это максимальное время жизни сегмента в сети. В общем случае значение MSL равно 1 минуте, что означает, что сокет может находиться в состоянии TIME_WAIT до 2 минут. Однако, значение MSL может быть разным в разных операционных системах и сетевых устройствах, поэтому фактическое время, в течение которого сокет находится в состоянии TIME_WAIT, может отличаться в зависимости от конкретной ситуации. По умолчанию значение MSL в ядре Linux равно 60 секундам. Вы можете проверить это значение в вашей системе, просмотрев файл /proc/sys/net/ipv4/tcp_fin_timeout ### tcp_tw_reuse