Table of Contents

Method MeansNoVerdict

Namespace
Zedal.Sdk.Apis.Signer
Assembly
Zedal.Sdk.dll

MeansNoVerdict(StatusCode)

Ob ein gRPC-Fehler des Verifiers heißt „das Dokument wurde nicht geurteilt" (NoVerdict, Exitcode NoVerdictExitCode) oder „der Lauf ist gescheitert" (Exitcode 1 aus dem Top-Level-Catch).

public static bool MeansNoVerdict(StatusCode status)

Parameters

status StatusCode

Returns

bool

Remarks

Die Grenze läuft nicht zwischen „harmlos" und „schlimm", sondern zwischen den zwei Fragen, die die Exitcodes auseinanderhalten: Sagt der Status etwas über das DOKUMENT oder über den LAUF?

  • Über das Dokument: Der Dienst hat den Request angenommen, angesehen und abgelehnt — InvalidArgument, FailedPrecondition, OutOfRange und, bei diesem Dienst, Internal. Der häufigste echte Fall ist eine Datei, deren Format nicht zum gewählten RPC passt (irreführende Endung, übersteuertes --kind); welchen der Codes der Verifier dafür wählt, hält die VerifyApiSuite fest. Geprüft wurde nichts — und genau dafür gibt es den dritten Ausgang.
  • Über den Lauf: Unavailable, DeadlineExceeded, Unauthenticated, PermissionDenied, ResourceExhausted, Cancelled, Unimplemented, Unknown und die übrigen. Ein nicht erreichbarer Dienst sagt nichts über die Datei; „nicht prüfbar" zu protokollieren, wo „nicht gefragt" richtig wäre, schickt den Leser in die falsche Richtung.

Internal ist die eine Zuordnung, die nicht aus der gRPC-Semantik folgt, sondern aus diesem Dienst: Der Verifier ist ein Aufsatz auf die native SAK, und was die an einem unlesbaren Container abbricht, kommt als Internal heraus. Der Preis ist, dass auch ein echter Dienstfehler als „kein Urteil" erscheint. Das ist die vertretbare Richtung: 3 behauptet kein Urteil, sondern verneint eines, und WARUM steht in der Ausgabe — der Status der Ablehnung hält die beiden Fälle auch dann auseinander, wenn der Dienst keine Begründung mitschickt (RefusalReason(StatusCode, string)). 1 dagegen ließe den häufigsten Fall — die Datei ist nicht prüfbar — wie einen Fehler des Aufrufwerkzeugs aussehen, und bei -o json fiele gar keine parsebare Ausgabe an.