| Type | Description |
|---|---|
EPdfCacheError | Melaporkan anggaran, ukuran entri, dan partisipan yang tidak valid |
TPdfCacheKind | Mengklasifikasikan scene halaman (pckPageScene), tile (pckTile), thumbnail (pckThumbnail), font sistem (pckSystemFont), data struktur (pckStructure), snapshot teks (pckTextSnapshot), snapshot page-object (pckPageObjectSnapshot), stream terdekode (pckDecodedStream), dan entri aplikasi (pckApplication) |
TPdfCacheGovernorStatistics | Melaporkan anggaran, byte tertahan saat ini dan puncaknya, byte yang di-pin, jumlah entri, reservasi, touch, eviksi, dan penolakan; field-nya mencakup MaxBytes, StoredBytes, PeakStoredBytes, PinnedBytes, EntryCount, ReservationCount, TouchCount, EvictionCount, RejectionCount |
TPdfCacheParticipant | Menerima callback EvictCacheEntry sinkron setelah governor menghapus sebuah token dari pembukuannya |
TPdfCacheGovernorEntry | Record pembukuan internal yang diekspos demi kompatibilitas compiler; field-nya mencakup Token, Participant, Kind, StoredBytes, LastUsed, dan Pinned |
TPdfCacheGovernor | Registry token thread-safe dengan satu urutan least-recently-used global melintasi partisipan dan jenis cache |
| Member | Description |
|---|---|
Create(AMaxBytes: Int64) | Membuat governor dengan anggaran byte non-negatif |
Destroy | Menghapus entri terdaftar sebelum melepaskan status sinkronisasi |
Reserve | Mereservasi byte dan mengembalikan token positif, melakukan eviksi entri LRU global bila memungkinkan atau mengembalikan nol ketika entri tidak muat |
Touch | Memindahkan token yang sudah ada ke posisi terbaru |
Release | Menghapus pembukuan sebuah token tanpa memanggil callback eviksinya |
SetPinned | Melindungi atau melepas perlindungan entri yang sedang dipakai dan memangkas setelah unpin |
Clear | Menghapus semua token dan meminta setiap partisipan melepaskan entri yang ditahannya |
Contains | Menguji apakah sebuah token masih terdaftar |
UsageForKind | Mengembalikan byte tertahan untuk satu TPdfCacheKind |
EntryCountForKind | Mengembalikan jumlah entri terdaftar untuk satu TPdfCacheKind |
Statistics | Mengembalikan cuplikan telemetri yang dilindungi lock |
MaxBytes | Membaca atau mengubah total anggaran dan segera memangkas entri yang tidak di-pin setelah pengurangan |
Governor tidak pernah memiliki partisipan maupun data yang mereka tahan
Setiap partisipan harus berumur lebih panjang dari semua token terdaftarnya dan tidak boleh memunculkan exception dari EvictCacheEntry
Callback berjalan sinkron tanpa lock governor dipegang, sehingga partisipan boleh memanggil Release untuk token terkait dengan aman
Entri yang di-pin dapat sementara menjaga StoredBytes di atas nilai MaxBytes yang telah dikurangi sampai pengguna terakhir melepas pinnya
FPDF_RENDER_LIMITEDIMAGECACHE tetap tersedia melalui reLimitCache dan menerapkan batas image-cache native per halaman milik PDFium yang bersifat tetap
PDFium tidak mengekspos ABI publik untuk anggaran byte cache tingkat proses yang dapat dikonfigurasi atau dikueri
Oleh karena itu governor mengukur objek tertahan milik PDFiumPas dan memakai estimasi eksplisit untuk scene halaman hasil parse yang opak