StartRangeSourcePrefetch

Zarządzanie dokumentami, ładowanie progresywne, wydajność

Opis

Kolejkuje zadanie w tle, które cyklicznie odkrywa i pobiera brakujące zakresy bajtów wymagane przez graf zależności strony, formularza albo obiektu pośredniego

Składnia

Delphi

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

Parametry

DataKindPDF_RANGE_DATA_PAGE, PDF_RANGE_DATA_FORM albo PDF_RANGE_DATA_OBJECT
IndexNumer strony liczony od 1, zero dla zapytania o formularz albo numer obiektu pośredniego
PriorityPDF_RANGE_PREFETCH_PRIORITY_LOW, NORMAL, HIGH albo CRITICAL
MaxBytesBudżet odczytu zadania; zero wybiera 64 MiB, a wartość jawna musi pomieścić co najmniej jedną porcję źródła
ReadAheadBytesDodatkowe bajty zaplanowane po każdym odkrytym zakresie zależności przed wyrównaniem do porcji
MaxPassesMaksymalna liczba rund odkrywania zależności; zero wybiera 128

Wartość zwracana

Dodatni uchwyt zadania lokalny dla strumienia w razie powodzenia, albo zero z LastErrorCode ustawionym na 401, gdy wybrany dokument nie jest oparty na zakresach albo argumenty są nieprawidłowe

Uwagi

Jeden pracownik obsługuje każdy strumień zakresów i wybiera najwyższe zakolejkowane priorytet, zachowując kolejność FIFO w obrębie równych priorytetów

Pracownik używa izolowanego parsera nad współdzieloną pamięcią byte-range, więc odkrywanie zależności nie dzieli zmiennego stanu czytnika z operacjami na dokumencie w pierwszym planie

Budżet bajtów obejmuje odczyty poza buforem wykonywane przy inicjalizacji i przesuwaniu izolowanego parsera zależności

Bajty pobrane z wyprzedzeniem pozostają podległe budżetowi bufora strumieni i polityce wyrzucania najdawniej używanych