pub enum Error {
Show 32 variants
NoError,
InternalError,
ConnectionRefused,
FlowControlError,
StreamLimitError,
StreamStateError,
FinalSizeError,
FrameEncodingError,
TransportParameterError,
ConnectionIdLimitError,
ProtocolViolation,
InvalidToken,
ApplicationError,
CryptoBufferExceeded,
KeyUpdateError,
AeadLimitReached,
NoViablePath,
CryptoError(u8),
MultipathProtocolViolation,
Done,
BufferTooShort,
UnknownVersion,
InvalidPacket,
InvalidState(String),
InvalidOperation(String),
InvalidConfig(String),
ExpiredToken,
CryptoFail,
TlsFail(String),
StreamStopped(u64),
StreamReset(u64),
IoError(String),
}Expand description
QUIC transport error.
Variants§
NoError
An endpoint uses this with CONNECTION_CLOSE to signal that the connection is being closed abruptly in the absence of any error.
InternalError
The endpoint encountered an internal error and cannot continue with the connection
ConnectionRefused
The server refused to accept a new connection.
FlowControlError
An endpoint received more data than it permitted in its advertised data limits
StreamLimitError
An endpoint received a frame for a stream identifier that exceeded its advertised stream limit for the corresponding stream type
StreamStateError
An endpoint received a frame for a stream that was not in a state that permitted that frame;
FinalSizeError
(1) An endpoint received a STREAM frame containing data that exceeded the previously established final size, (2) an endpoint received a STREAM frame or a RESET_STREAM frame containing a final size that was lower than the size of stream data that was already received, or (3) an endpoint received a STREAM frame or a RESET_STREAM frame containing a different final size to the one already established.
FrameEncodingError
An endpoint received a frame that was badly formatted – for instance, a frame of an unknown type or an ACK frame that has more acknowledgment ranges than the remainder of the packet could carry.
TransportParameterError
An endpoint received transport parameters that were badly formatted, included an invalid value, omitted a mandatory transport parameter, included a forbidden transport parameter, or were otherwise in error.
ConnectionIdLimitError
The number of connection IDs provided by the peer exceeds the advertised active_connection_id_limit.
ProtocolViolation
An endpoint detected an error with protocol compliance that was not covered by more specific error codes.
InvalidToken
A server received a client Initial that contained an invalid Token field.
ApplicationError
The application or application protocol caused the connection to be closed.
CryptoBufferExceeded
An endpoint has received more data in CRYPTO frames than it can buffer.
KeyUpdateError
An endpoint detected errors in performing key updates.
AeadLimitReached
An endpoint has reached the confidentiality or integrity limit for the AEAD algorithm used by the given connection.
NoViablePath
An endpoint has determined that the network path is incapable of supporting QUIC. An endpoint is unlikely to receive a CONNECTION_CLOSE frame carrying this code except when the path does not support a large enough MTU.
CryptoError(u8)
The cryptographic handshake failed. A range of 256 values is reserved for carrying error codes specific to the cryptographic handshake.
MultipathProtocolViolation
An endpoint detected a multipath error with protocol compliance that was not covered by more specific error codes.
Done
There is no more work to do.
BufferTooShort
The provided buffer is too short.
UnknownVersion
The provided packet cannot be parsed because its version is unknown.
InvalidPacket
The provided packet cannot be parsed.
InvalidState(String)
The operation cannot be completed because it was attempted in an invalid state.
InvalidOperation(String)
The operation on the connection is invalid.
InvalidConfig(String)
The configuration is invalid.
ExpiredToken
A server received a client Initial that contained an expired Token.
CryptoFail
A cryptographic operation failed.
TlsFail(String)
The TLS handshake failed.
StreamStopped(u64)
The specified stream was stopped by the peer.
The error code sent as part of the STOP_SENDING frame is provided as
associated data.
StreamReset(u64)
The specified stream was reset by the peer.
The error code sent as part of the RESET_STREAM frame is provided as
associated data.
IoError(String)
I/O error.
Trait Implementations§
Source§impl Error for Error
impl Error for Error
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
Source§impl From<Error> for Http3Error
impl From<Error> for Http3Error
Source§impl IntoEnumIterator for Error
impl IntoEnumIterator for Error
impl Eq for Error
impl StructuralPartialEq for Error
Auto Trait Implementations§
impl Freeze for Error
impl RefUnwindSafe for Error
impl Send for Error
impl Sync for Error
impl Unpin for Error
impl UnwindSafe for Error
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.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.