Funktioner til minimering af corpus
function HPDFMinimizeCorpusCase(const Input: TBytes;
const Predicate: THPDFFailurePredicate; MaximumAttempts: Integer;
out AInfo: THPDFCorpusMinimizationInfo): TBytes;
Reducereren fjerner først komplette indirekte objektspænd og anvender derefter successivt mindre byteområdereduktioner
En kandidat accepteres kun, når prædikatet stadig rapporterer den oprindelige fejlsignatur
AInfo rapporterer forsøg, accepterede reduktioner, fjernede objektspænd, fjernede byteområder, oprindelige og endelige størrelser samt den bevarede signatur
Kontinuerlig corpuslagring
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;
Lageret afleder et stabilt case-ID fra SHA-256-sammendraget af fejlsignaturen, genvaliderer enhver eksisterende case, minimerer både den eksisterende og den indgående kandidat og beholder det mindste resultat
En lås på tværs af processer serialiserer afgørelser for ét corpuskatalog, mens write-through-midlertidige filer og atomisk udskiftning forhindrer læsere i at se delvise PDF- eller metadatafiler
THPDFCorpusStoreOptions begrænser minimeringsforsøg, indgående bytes, gemte bytes og genforsøg med lås, og THPDFCorpusCaseInfo.Action rapporterer, om casen blev tilføjet, erstattet eller beholdt
Sidecar-skemaet hotpdf.corpus.case.v1 registrerer case-ID, nøjagtig fejlsignatur, indholds-SHA-256 og antal gemte bytes i stabil feltrækkefølge
HPDFCompareRegressionResultsDeterministic sammenligner gentagne signaturer på tværs af motorer i parse-, render-, tekst- og gemmedomæner og afviser ustabile eller mislykkede kørsler