Zum Hauptinhalt springen

20. Fehlercodes

20. Fehlercodes

QUIC-Transportfehlercodes und Anwendungsfehlercodes sind 62-Bit-vorzeichenlose Ganzzahlen.

20.1 Transport-Fehlercodes

Dieser Abschnitt listet die definierten QUIC-Transport-Fehlercodes auf, die in einem CONNECTION_CLOSE-Frame mit einem Typ von 0x1c verwendet werden können. Diese Fehler gelten für die gesamte Verbindung.

NO_ERROR (0x00): Ein Endpunkt verwendet dies mit CONNECTION_CLOSE, um zu signalisieren, dass die Verbindung ohne Fehler abrupt geschlossen wird.

INTERNAL_ERROR (0x01): Der Endpunkt ist auf einen internen Fehler gestoßen und kann die Verbindung nicht fortsetzen.

CONNECTION_REFUSED (0x02): Der Server hat abgelehnt, eine neue Verbindung zu akzeptieren.

FLOW_CONTROL_ERROR (0x03): Ein Endpunkt hat mehr Daten erhalten, als es in seinen angekündigten Datenlimits erlaubt hat.

STREAM_LIMIT_ERROR (0x04): Ein Endpunkt hat einen Frame für eine Stream-Kennung erhalten, die sein angekündigtes Stream-Limit für den entsprechenden Stream-Typ überschritten hat.

STREAM_STATE_ERROR (0x05): Ein Endpunkt hat einen Frame für einen Stream erhalten, der sich nicht in einem Zustand befand, der diesen Frame erlaubte.

FINAL_SIZE_ERROR (0x06): Ein Endpunkt hat einen STREAM-Frame mit Daten erhalten, die die zuvor festgelegte endgültige Größe überschritten haben, oder einen RESET_STREAM-Frame mit einer endgültigen Größe, die kleiner als die Größe der bereits empfangenen Stream-Daten war, oder einen RESET_STREAM-Frame mit einer endgültigen Größe, die sich geändert hat.

FRAME_ENCODING_ERROR (0x07): Ein Endpunkt hat einen Frame erhalten, der schlecht formatiert war.

TRANSPORT_PARAMETER_ERROR (0x08): Ein Endpunkt hat Transportparameter erhalten, die schlecht formatiert waren, einen ungültigen Wert enthielten, fehlten, obwohl sie obligatorisch sind, vorhanden waren, obwohl sie verboten sind, oder anderweitig fehlerhaft sind.

CONNECTION_ID_LIMIT_ERROR (0x09): Ein Endpunkt hat mehr Verbindungs-IDs erhalten, als es bereit ist zu verarbeiten.

PROTOCOL_VIOLATION (0x0a): Ein Endpunkt hat einen Fehler bei der Protokollkonformität erkannt, der nicht durch spezifischere Fehlercodes abgedeckt war.

INVALID_TOKEN (0x0b): Ein Server hat ein Client-Initial erhalten, das ein ungültiges Token-Feld enthielt.

APPLICATION_ERROR (0x0c): Die Anwendung oder das Anwendungsprotokoll hat veranlasst, dass die Verbindung geschlossen wird.

CRYPTO_BUFFER_EXCEEDED (0x0d): Ein Endpunkt hat mehr Daten in CRYPTO-Frames erhalten, als es puffern kann.

KEY_UPDATE_ERROR (0x0e): Ein Endpunkt hat Fehler beim Durchführen von Schlüsselaktualisierungen erkannt.

AEAD_LIMIT_REACHED (0x0f): Ein Endpunkt hat die Vertraulichkeits- oder Integritätsgrenze für den AEAD-Algorithmus erreicht, der von der gegebenen Verbindung verwendet wird.

NO_VIABLE_PATH (0x10): Ein Endpunkt hat festgestellt, dass der Netzwerkpfad nicht in der Lage ist, QUIC zu unterstützen.

20.2 Anwendungsprotokoll-Fehlercodes

Anwendungsprotokoll-Fehlercodes sind 62-Bit-vorzeichenlose Ganzzahlen, die in RESET_STREAM-Frames oder CONNECTION_CLOSE-Frames mit einem Typ von 0x1d verwendet werden. Anwendungsprotokoll-Fehlercodes werden vom Anwendungsprotokoll definiert, das QUIC verwendet.