Например, файл имеет известную длину 1000000, и с адреса 0 -> 500000 данные доступны (т.е. получены), но между 300000 -> 350000 данные повреждены, а данные с адреса 500001 -> 999999 недоступны.вообще (не получено вообще).
У меня уже есть простая реализация с использованием списков, однако она становится достаточно интенсивной и медленной для больших и фрагментированных наборов данных.