create static method

ReconnectionStrategy create({
  1. ReconnectionStrategyType type = ReconnectionStrategyType.exponential,
  2. Duration? initialDelay,
  3. Duration? maxDelay,
  4. double? multiplier,
  5. Duration? increment,
  6. double? randomizationFactor,
})

Creates a reconnection strategy based on the strategy type.

Implementation

static ReconnectionStrategy create({
  ReconnectionStrategyType type = ReconnectionStrategyType.exponential,
  Duration? initialDelay,
  Duration? maxDelay,
  double? multiplier,
  Duration? increment,
  double? randomizationFactor,
}) {
  switch (type) {
    case ReconnectionStrategyType.exponential:
      return ExponentialBackoffStrategy(
        initialDelay: initialDelay ?? const Duration(seconds: 1),
        maxDelay: maxDelay ?? const Duration(minutes: 5),
        multiplier: multiplier ?? 2.0,
        randomizationFactor: randomizationFactor ?? 0.1,
      );
    case ReconnectionStrategyType.linear:
      return LinearBackoffStrategy(
        initialDelay: initialDelay ?? const Duration(seconds: 1),
        maxDelay: maxDelay ?? const Duration(minutes: 5),
        increment: increment ?? const Duration(seconds: 1),
      );
    case ReconnectionStrategyType.fixed:
      return FixedDelayStrategy(
        delay: initialDelay ?? const Duration(seconds: 5),
      );
    case ReconnectionStrategyType.none:
      return const NoReconnectionStrategy();
  }
}