StartRangeSourcePrefetch

Gestión de documentos, carga progresiva, rendimiento

Descripción

Pone en cola un trabajo en segundo plano que descubre y obtiene repetidamente los rangos de bytes faltantes requeridos por un grafo de dependencias de páginas, formularios u objetos indirectos

Sintaxis

Delphi

Function TPDFlib.StartRangeSourcePrefetch(DataKind, Index, Priority: Integer;
  MaxBytes: Int64= 0; ReadAheadBytes: LongInt= 0;
  MaxPasses: Integer= 0): Integer;

Parámetros

DataKindPDF_RANGE_DATA_PAGE, PDF_RANGE_DATA_FORM o PDF_RANGE_DATA_OBJECT
IndexUn número de página con base 1, cero para la consulta del formulario, o un número de objeto indirecto
PriorityPDF_RANGE_PREFETCH_PRIORITY_LOW, NORMAL, HIGH o CRITICAL
MaxBytesEl presupuesto de lectura del trabajo; cero selecciona 64 MiB y un valor explícito debe cubrir al menos un bloque fuente
ReadAheadBytesBytes adicionales programados después de cada rango de dependencia descubierto antes de la alineación de bloques
MaxPassesEl máximo de rondas de descubrimiento de dependencias; cero selecciona 128

Valor devuelto

Un manejador de trabajo local del stream positivo en caso de éxito, o cero con LastErrorCode establecido en 401 cuando el documento seleccionado no está respaldado por rangos o los argumentos no son válidos

Observaciones

Un worker atiende cada flujo por rangos y elige la prioridad en cola más alta, preservando el orden FIFO dentro de prioridades iguales

El worker usa un analizador aislado sobre la caché por rangos de bytes compartida, así que el descubrimiento de dependencias no comparte estado mutable de lector con las operaciones de documento en primer plano

El presupuesto de bytes incluye las lecturas sin caché realizadas al inicializar y avanzar el analizador de dependencias aislado

Los bytes precargados siguen sujetos al presupuesto de la caché de flujos y a la política de desalojo por menos uso reciente