TByteRangeStream availability queries

Управление документами, постепенная загрузка, производительность

Описание

Проверяет, кэширован ли абсолютный диапазон байтов или немедленно доступен из опорного источника, не читая его

Синтаксис

Delphi

Function TByteRangeStream.IsRangeCached(Offset, Count: Int64): Boolean;
Function TByteRangeStream.IsRangeAvailable(Offset, Count: Int64): Boolean;

Параметры

OffsetАбсолютное начальное смещение с базой 0
CountЧисло последовательных байтов для проверки

Возвращаемые значения

FalseДиапазон недействителен, не полностью кэширован или не может быть подтверждён как немедленно доступный
TrueПолный диапазон удовлетворяет выбранному запросу

Замечания

IsRangeCached проверяет только удерживаемые окна кэша

IsRangeAvailable сначала принимает кэшированное покрытие, затем опрашивает IPLByteRangeAvailabilitySource о каждом непокрытом выровненном сегментеНи один из методов не читает байты источника, не меняет позиционный курсор потока и не изменяет статистику кэшаДиапазон нулевой длины при допустимом смещении источника считается доступным