TByteRangeStream availability queries

Gestion de documents, chargement progressif, performances

Description

Teste si une plage d'octets absolue est en cache ou immédiatement disponible depuis la source sous-jacente sans la lire

Syntaxe

Delphi

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

Paramètres

OffsetLe décalage de départ absolu à base zéro
CountLe nombre d'octets consécutifs à tester

Valeurs de retour

FalseLa plage est invalide, n'est pas entièrement en cache, ou ne peut pas être confirmée comme immédiatement disponible
TrueLa plage complète satisfait la requête sélectionnée

Remarques

IsRangeCached ne consulte que les fenêtres de cache conservées

IsRangeAvailable accepte d'abord la couverture en cache, puis interroge une IPLByteRangeAvailabilitySource sur chaque segment aligné non couvertAucune des deux méthodes ne lit d'octets à la source, ne modifie le curseur positionnel du flux ou ne mute les statistiques du cacheUne plage de longueur nulle à un décalage de source valide est disponible