pub enum H3ErrorCode {
Show 22 variants
NoError = 256,
GeneralProtocolError = 257,
InternalError = 258,
StreamCreationError = 259,
ClosedCriticalStream = 260,
FrameUnexpected = 261,
FrameError = 262,
ExcessiveLoad = 263,
IdError = 264,
SettingsError = 265,
MissingSettings = 266,
RequestRejected = 267,
RequestCancelled = 268,
RequestIncomplete = 269,
MessageError = 270,
ConnectError = 271,
VersionFallback = 272,
WebTransportBufferedStreamRejected = 966_049_156,
WebTransportSessionGone = 386_759_528,
WebTransportFlowControlError = 73_221_255,
WebTransportAlpnError = 135_771_101,
WebTransportRequirementsNotMet = 556_535_112,
}Expand description
H3 error codes per RFC 9114 §8.1.
Used when closing connections or resetting streams.
Unknown error codes are mapped to NoError per spec.
Variants§
NoError = 256
No error. Used when closing without an error to signal.
GeneralProtocolError = 257
Peer violated protocol requirements.
InternalError = 258
An internal error in the HTTP stack.
StreamCreationError = 259
Peer created a stream that will not be accepted.
ClosedCriticalStream = 260
A required stream was closed or reset.
FrameUnexpected = 261
A frame was not permitted in the current state or stream.
FrameError = 262
A frame fails layout requirements or has an invalid size.
ExcessiveLoad = 263
Peer is generating excessive load.
IdError = 264
A stream ID or push ID was used incorrectly.
SettingsError = 265
Error in the payload of a SETTINGS frame.
MissingSettings = 266
No SETTINGS frame at the beginning of the control stream.
RequestRejected = 267
Server rejected a request without application processing.
RequestCancelled = 268
Request or response (including pushed) is cancelled.
RequestIncomplete = 269
Client stream terminated without a fully formed request.
MessageError = 270
HTTP message was malformed.
ConnectError = 271
TCP connection for CONNECT was reset or abnormally closed.
VersionFallback = 272
Requested operation cannot be served over HTTP/3.
WebTransportBufferedStreamRejected = 966_049_156
WebTransport data stream rejected due to lack of associated session.
WebTransportSessionGone = 386_759_528
WebTransport data stream or session closed because the associated session is gone.
WebTransportFlowControlError = 73_221_255
WebTransport session flow control error.
WebTransportAlpnError = 135_771_101
WebTransport application protocol negotiation failed.
WebTransportRequirementsNotMet = 556_535_112
Required WebTransport settings or transport parameters not met.
Implementations§
Trait Implementations§
Source§impl Clone for H3ErrorCode
impl Clone for H3ErrorCode
Source§fn clone(&self) -> H3ErrorCode
fn clone(&self) -> H3ErrorCode
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for H3ErrorCode
impl Debug for H3ErrorCode
Source§impl Display for H3ErrorCode
impl Display for H3ErrorCode
Source§impl Error for H3ErrorCode
impl Error for H3ErrorCode
1.30.0 · Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
use the Display impl or to_string()
Source§impl From<H3ErrorCode> for H3Error
impl From<H3ErrorCode> for H3Error
Source§fn from(source: H3ErrorCode) -> Self
fn from(source: H3ErrorCode) -> Self
Source§impl From<H3ErrorCode> for u64
impl From<H3ErrorCode> for u64
Source§fn from(code: H3ErrorCode) -> u64
fn from(code: H3ErrorCode) -> u64
Encodes the error code. NoError emits a random GREASE value
(0x1f * N + 0x21) per RFC 9114 §8.1 to exercise peer handling
of unknown codes.
Source§impl From<u64> for H3ErrorCode
impl From<u64> for H3ErrorCode
Source§impl PartialEq for H3ErrorCode
impl PartialEq for H3ErrorCode
impl Copy for H3ErrorCode
impl Eq for H3ErrorCode
impl StructuralPartialEq for H3ErrorCode
Auto Trait Implementations§
impl Freeze for H3ErrorCode
impl RefUnwindSafe for H3ErrorCode
impl Send for H3ErrorCode
impl Sync for H3ErrorCode
impl Unpin for H3ErrorCode
impl UnsafeUnpin for H3ErrorCode
impl UnwindSafe for H3ErrorCode
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.