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
| DataKind | PDF_RANGE_DATA_PAGE, PDF_RANGE_DATA_FORM albo PDF_RANGE_DATA_OBJECT |
|---|---|
| Index | Numer strony liczony od 1, zero dla zapytania o formularz albo numer obiektu pośredniego |
| Priority | PDF_RANGE_PREFETCH_PRIORITY_LOW, NORMAL, HIGH albo CRITICAL |
| MaxBytes | Budżet odczytu zadania; zero wybiera 64 MiB, a wartość jawna musi pomieścić co najmniej jedną porcję źródła |
| ReadAheadBytes | Dodatkowe bajty zaplanowane po każdym odkrytym zakresie zależności przed wyrównaniem do porcji |
| MaxPasses | Maksymalna 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