File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1+ patch type="fixed" "Add jitter to reconnect retry delays"
Original file line number Diff line number Diff line change 1515// ignore_for_file: deprecated_member_use_from_same_package
1616
1717import 'dart:async' ;
18+ import 'dart:math' as math;
1819import 'dart:typed_data' show Uint8List;
1920
2021import 'package:flutter/foundation.dart' show kDebugMode, kIsWeb;
@@ -1013,7 +1014,11 @@ class Engine extends Disposable with EventsEmittable<EngineEvent> {
10131014 return ;
10141015 }
10151016
1016- final delay = defaultRetryDelaysInMs[reconnectAttempts! ];
1017+ var delay = defaultRetryDelaysInMs[reconnectAttempts! ];
1018+ // Add random jitter to prevent thundering herd on reconnect
1019+ if (reconnectAttempts! > 1 ) {
1020+ delay += math.Random ().nextInt (1000 );
1021+ }
10171022
10181023 events.emit (EngineAttemptReconnectEvent (
10191024 attempt: reconnectAttempts! + 1 ,
You can’t perform that action at this time.
0 commit comments