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.