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