refactoring

This commit is contained in:
dahoud
2026-03-31 09:14:47 +00:00
parent 9bfffeeebe
commit 5383df6dcb
200 changed files with 11192 additions and 7063 deletions

View File

@@ -284,14 +284,18 @@ class WebSocketService {
void _onError(dynamic error) {
AppLogger.error('WebSocket error', error: error);
_isConnected = false;
_stopHeartbeat();
_channel = null;
_connectionStatusController.add(false);
_scheduleReconnect();
}
/// Gestion de la fermeture de connexion
void _onDone() {
if (!_isConnected) return; // Déjà traité par _onError
AppLogger.info('WebSocket connexion fermée');
_isConnected = false;
_channel = null;
_connectionStatusController.add(false);
_stopHeartbeat();
_scheduleReconnect();
@@ -303,6 +307,10 @@ class WebSocketService {
return;
}
if (_reconnectTimer != null) {
return; // Reconnexion déjà planifiée
}
_stopReconnectTimer();
// Backoff exponentiel : 2^attempts secondes (max 60s)
@@ -312,6 +320,7 @@ class WebSocketService {
AppLogger.info('⏳ Reconnexion WebSocket dans ${delaySeconds}s (tentative $_reconnectAttempts)');
_reconnectTimer = Timer(Duration(seconds: delaySeconds), () {
_channel = null;
AppLogger.info('🔄 Tentative de reconnexion WebSocket...');
connect();
});