TByteRangeStream availability queries

文档管理、渐进式加载、性能

描述

在不读取的情况下测试绝对字节区间是已缓存,还是可以立即从支撑源获得

语法

Delphi

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

参数

Offset绝对零起始偏移
Count要测试的连续字节数

返回值

False区间无效、未完全缓存,或无法确认为立即可用
True完整区间满足所选查询

说明

IsRangeCached 仅检查保留的缓存窗口

IsRangeAvailable 先接受缓存覆盖,然后就每个未覆盖的对齐段询问 IPLByteRangeAvailabilitySource两个方法都不读取源字节、不更改位置式流游标,也不修改缓存统计有效源偏移处的零长度区间视为可用