"""Calcul du delai de reconnexion automatique (backoff exponentiel plafonne).""" from __future__ import annotations def compute_backoff_delay(attempt: int, initial_delay: int, max_delay: int = 60) -> int: """Delai (secondes) avant la tentative numero `attempt` (1, 2, 3, ...). Double a chaque tentative (5s, 10s, 20s, 40s, ...) et plafonne a `max_delay` pour ne pas finir par attendre des heures apres de nombreux echecs.""" if attempt < 1: attempt = 1 return min(initial_delay * (2 ** (attempt - 1)), max_delay)