#[repr(u8)]pub enum ErrorCode {
Show 21 variants
Unknown = 0,
AccessDenied = 1,
NotSupported = 2,
InvalidArgument = 3,
OutOfMemory = 4,
Timeout = 5,
ConcurrencyConflict = 6,
NotInProgress = 7,
WouldBlock = 8,
InvalidState = 9,
NewSocketLimit = 10,
AddressNotBindable = 11,
AddressInUse = 12,
RemoteUnreachable = 13,
ConnectionRefused = 14,
ConnectionReset = 15,
ConnectionAborted = 16,
DatagramTooLarge = 17,
NameUnresolvable = 18,
TemporaryResolverFailure = 19,
PermanentResolverFailure = 20,
}Expand description
Error codes.
In theory, every API can return any error code. In practice, API’s typically only return the errors documented per API combined with a couple of errors that are always possible:
unknownaccess-deniednot-supportedout-of-memoryconcurrency-conflict
See each individual API for what the POSIX equivalents are. They sometimes differ per API.
Variants§
Unknown = 0
Unknown error
AccessDenied = 1
Access denied.
POSIX equivalent: EACCES, EPERM
NotSupported = 2
The operation is not supported.
POSIX equivalent: EOPNOTSUPP
InvalidArgument = 3
One of the arguments is invalid.
POSIX equivalent: EINVAL
OutOfMemory = 4
Not enough memory to complete the operation.
POSIX equivalent: ENOMEM, ENOBUFS, EAI_MEMORY
Timeout = 5
The operation timed out before it could finish completely.
ConcurrencyConflict = 6
This operation is incompatible with another asynchronous operation that is already in progress.
POSIX equivalent: EALREADY
NotInProgress = 7
Trying to finish an asynchronous operation that:
- has not been started yet, or:
- was already finished by a previous
finish-*call.
Note: this is scheduled to be removed when futures are natively supported.
WouldBlock = 8
The operation has been aborted because it could not be completed immediately.
Note: this is scheduled to be removed when futures are natively supported.
InvalidState = 9
The operation is not valid in the socket’s current state.
NewSocketLimit = 10
A new socket resource could not be created because of a system limit.
AddressNotBindable = 11
A bind operation failed because the provided address is not an address that the network can bind to.
AddressInUse = 12
A bind operation failed because the provided address is already in use or because there are no ephemeral ports available.
RemoteUnreachable = 13
The remote address is not reachable
ConnectionRefused = 14
The TCP connection was forcefully rejected
ConnectionReset = 15
The TCP connection was reset.
ConnectionAborted = 16
A TCP connection was aborted.
DatagramTooLarge = 17
The size of a datagram sent to a UDP socket exceeded the maximum supported size.
NameUnresolvable = 18
Name does not exist or has no suitable associated IP addresses.
TemporaryResolverFailure = 19
A temporary failure in name resolution occurred.
PermanentResolverFailure = 20
A permanent failure in name resolution occurred.
Implementations§
Trait Implementations§
impl Copy for ErrorCode
impl Eq for ErrorCode
Source§impl Error for ErrorCode
Available on crate feature std only.
impl Error for ErrorCode
std only.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()