Incomplete files service

Материал из fidoman.ru

Стандартный сервис для получаемых файлов

Файлы скачиваются не одномоментно, поэтому в течение какого-то времени в системе хранится неполная версия файла. Будь то crdownload, .part и т.п.

Исходный домен - откуда файл - веб/торрент/ftn и т.д. Исходный адрес - адрес скачивания

- идентифицирую источник, по этим данным можно найти файл, если скачивание уже началось

Целевое имя - имя файла Размер - если известен Хэши

Доступные регионы - уже скачанные участки файла База+размер (список) либо постраничный битмап (второе требует дописываний кратными выровненными блоками)

Успешность скачивания - весь указанный размер заполнен. Запись за его пределами - ошибка. - хэши соответствуют

После завершения скачивания файл передаётся сконфигурированному для домена получателю (место на файловой системе, какая-то программа для обработки).

Функции

- инициализация пустого файла, с указанием размера (или неизвестного размера), способов верификации.
- добавление скачанного участка
- получение списка недостающих участков, или факта неизвестности длины
- фиксация длины, когда она стала известна
- завершение файла, с проверкой, что всё скачано.