PrefetchConfig.forNetwork constructor

PrefetchConfig.forNetwork(
  1. NetworkType type
)

Adaptive config based on network type

Implementation

factory PrefetchConfig.forNetwork(NetworkType type) {
  switch (type) {
    case NetworkType.wifi:
      return const PrefetchConfig(
        prefetchAhead: 4,
        prefetchBehind: 2,
        keepRange: 8,
        maxConcurrent: 4,
      );
    case NetworkType.fiveG:
      return const PrefetchConfig(
        prefetchAhead: 3,
        prefetchBehind: 1,
        keepRange: 6,
        maxConcurrent: 3,
      );
    case NetworkType.fourG:
      return const PrefetchConfig(
        prefetchAhead: 2,
        prefetchBehind: 1,
        keepRange: 4,
        maxConcurrent: 2,
      );
    case NetworkType.slow:
      return const PrefetchConfig(
        prefetchAhead: 1,
        prefetchBehind: 0,
        keepRange: 3,
        maxConcurrent: 1,
      );
    case NetworkType.offline:
      return const PrefetchConfig(
        prefetchAhead: 0,
        prefetchBehind: 0,
        keepRange: 2,
        maxConcurrent: 0,
      );
  }
}