Corpus Küçültme Fonksiyonları
function HPDFMinimizeCorpusCase(const Input: TBytes;
const Predicate: THPDFFailurePredicate; MaximumAttempts: Integer;
out AInfo: THPDFCorpusMinimizationInfo): TBytes;
Reducer önce tam indirect-object aralıklarını kaldırır, ardından giderek küçülen byte-range kısaltmaları uygular
Aday, yalnızca predicate hâlâ özgün failure signature'ını bildirdiğinde kabul edilir
AInfo; denemeleri, kabul edilen kısaltmaları, kaldırılan object aralıklarını, kaldırılan byte range'leri, özgün ve son boyutları ve korunan signature'ı bildirir
Sürekli corpus saklama
function HPDFDefaultCorpusStoreOptions: THPDFCorpusStoreOptions;
function HPDFMinimizeAndStoreCorpusCase(const Input: TBytes;
const Predicate: THPDFFailurePredicate;
const CorpusDirectory: string;
const Options: THPDFCorpusStoreOptions;
out AInfo: THPDFCorpusCaseInfo): Boolean;
function HPDFCorpusCaseInfoToJSON(
const AInfo: THPDFCorpusCaseInfo): AnsiString;
type
THPDFCorpusStoreAction = (csaAdded, csaReplaced, csaKeptExisting);
THPDFCorpusStoreOptions = record
MaximumAttempts: Integer;
MaximumInputBytes: Int64;
MaximumStoredBytes: Int64;
LockRetryCount: Integer;
end;
Store, failure signature'ının SHA-256 digest'inden kararlı bir case ID türetir, mevcut case'i yeniden doğrular, hem mevcut hem gelen adayları küçültür ve en küçük sonucu tutar
Cross-process bir kilit, tek bir corpus dizini için kararları sıralar; write-through geçici dosyalar ve atomik değiştirme ise okuyucuların kısmi PDF ya da metadata dosyaları görmesini engeller
THPDFCorpusStoreOptions; küçültme denemelerini, gelen baytları, saklanan baytları ve kilit yeniden denemelerini sınırlar; THPDFCorpusCaseInfo.Action ise case'in eklenmiş, değiştirilmiş ya da korunmuş olduğunu bildirir
Sidecar şeması hotpdf.corpus.case.v1; case ID'yi, tam failure signature'ını, content SHA-256'sını ve saklanan bayt sayısını kararlı field sırasıyla kaydeder
HPDFCompareRegressionResultsDeterministic; parse, render, text ve save domain'lerinde tekrarlanan cross-engine signature'ları karşılaştırır ve kararsız ya da başarısız koşuları eler