[an error occurred while processing this directive]
|
Перед началом приема файла создается битовый массив, с размером (количеством бит), равным числу блоков в принимаемом файле. Массив инициализируется нулями. Каждый успешно принятый блок (1Кб) помечается в массиве единичкой. Когда весь массив заполняется единицами, файл принят.
---------------------------------------------------------------------
calloc_bitmask() - выделяет память под битовый массив. Выделенная память инициализируется нулями
fill_bitmask() - заполняет битовый массив единицами
clear_bitmask() - заполняет битовый массив нулями
search_onbit() - ищет первую единицу в массиве, возвращает номер первого найденного бита, равного единице, если таковой не найден,
то -1
search_offbit() - ищет первый бит в массиве, равный нулю;
возвращаемые значения - аналогично search_onbit()
для сброса/установки/получения отдельных битов используются макросы set_bit(), clear_bit(), get_bit()
bitmask_size() - требуемое число байт под битовый массив
E-mail: info@telesys.ru