FetchPool constructor

FetchPool({
  1. required int maxConcurrent,
  2. required List<String> urls,
  3. required String destinationDirectory,
  4. FetchPoolFileNamingStrategy fileNamingStrategy = FetchPoolFileNamingStrategy.basename,
  5. FetchPoolFileOverwritingStrategy fileOverwritingStrategy = FetchPoolFileOverwritingStrategy.overwrite,
})

Creates a new instance allowing maxConcurrent parallel downloads

If destinationDirectory doesn't exist, it will be created.

Implementation

FetchPool(
    {required this.maxConcurrent,
    required this.urls,
    required this.destinationDirectory,
    this.fileNamingStrategy = FetchPoolFileNamingStrategy.basename,
    this.fileOverwritingStrategy =
        FetchPoolFileOverwritingStrategy.overwrite}) {
  if (maxConcurrent < 1) {
    throw ArgumentError.value(maxConcurrent, 'maxConcurrent',
        'The maxConcurrent value must be greater than 0.');
  }

  if (destinationDirectory.trim().isEmpty) {
    throw ArgumentError.value(destinationDirectory, 'destinationDirectory',
        'The destinationDirectory must not be empty.');
  }
}