pub enum ErrorCode {
Show 21 variants
Unknown,
AccessDenied,
NotSupported,
InvalidArgument,
OutOfMemory,
Timeout,
ConcurrencyConflict,
NotInProgress,
WouldBlock,
InvalidState,
NewSocketLimit,
AddressNotBindable,
AddressInUse,
RemoteUnreachable,
ConnectionRefused,
ConnectionReset,
ConnectionAborted,
DatagramTooLarge,
NameUnresolvable,
TemporaryResolverFailure,
PermanentResolverFailure,
}
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:
unknown
access-denied
not-supported
out-of-memory
concurrency-conflict
See each individual API for what the POSIX equivalents are. They sometimes differ per API.
Variants§
Unknown
Unknown error
AccessDenied
Access denied.
POSIX equivalent: EACCES, EPERM
NotSupported
The operation is not supported.
POSIX equivalent: EOPNOTSUPP
InvalidArgument
One of the arguments is invalid.
POSIX equivalent: EINVAL
OutOfMemory
Not enough memory to complete the operation.
POSIX equivalent: ENOMEM, ENOBUFS, EAI_MEMORY
Timeout
The operation timed out before it could finish completely.
ConcurrencyConflict
This operation is incompatible with another asynchronous operation that is already in progress.
POSIX equivalent: EALREADY
NotInProgress
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 future
s are natively supported.
WouldBlock
The operation has been aborted because it could not be completed immediately.
Note: this is scheduled to be removed when future
s are natively supported.
InvalidState
The operation is not valid in the socket’s current state.
NewSocketLimit
A new socket resource could not be created because of a system limit.
AddressNotBindable
A bind operation failed because the provided address is not an address that the network
can bind to.
AddressInUse
A bind operation failed because the provided address is already in use or because there are no ephemeral ports available.
RemoteUnreachable
The remote address is not reachable
ConnectionRefused
The TCP connection was forcefully rejected
ConnectionReset
The TCP connection was reset.
ConnectionAborted
A TCP connection was aborted.
DatagramTooLarge
The size of a datagram sent to a UDP socket exceeded the maximum supported size.
NameUnresolvable
Name does not exist or has no suitable associated IP addresses.
TemporaryResolverFailure
A temporary failure in name resolution occurred.
PermanentResolverFailure
A permanent failure in name resolution occurred.
Implementations§
Trait Implementations§
source§impl Error for ErrorCode
impl Error for ErrorCode
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
source§impl PartialEq for ErrorCode
impl PartialEq for ErrorCode
impl ComponentType for ErrorCode
impl Copy for ErrorCode
impl Eq for ErrorCode
impl Lift for ErrorCode
impl Lower for ErrorCode
impl StructuralPartialEq for ErrorCode
Auto Trait Implementations§
impl Freeze for ErrorCode
impl RefUnwindSafe for ErrorCode
impl Send for ErrorCode
impl Sync for ErrorCode
impl Unpin for ErrorCode
impl UnwindSafe for ErrorCode
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<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
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<T> GetSetFdFlags for T
impl<T> GetSetFdFlags for T
source§fn get_fd_flags(&self) -> Result<FdFlags, Error>where
T: AsFilelike,
fn get_fd_flags(&self) -> Result<FdFlags, Error>where
T: AsFilelike,
self
file descriptor.source§fn new_set_fd_flags(&self, fd_flags: FdFlags) -> Result<SetFdFlags<T>, Error>where
T: AsFilelike,
fn new_set_fd_flags(&self, fd_flags: FdFlags) -> Result<SetFdFlags<T>, Error>where
T: AsFilelike,
source§fn set_fd_flags(&mut self, set_fd_flags: SetFdFlags<T>) -> Result<(), Error>where
T: AsFilelike,
fn set_fd_flags(&mut self, set_fd_flags: SetFdFlags<T>) -> Result<(), Error>where
T: AsFilelike,
self
file descriptor. Read more