pub enum TwirpErrorCode {
Show 18 variants
Canceled,
Unknown,
InvalidArgument,
Malformed,
DeadlineExceeded,
NotFound,
BadRoute,
AlreadyExists,
PermissionDenied,
Unauthenticated,
ResourceExhausted,
FailedPrecondition,
Aborted,
OutOfRange,
Unimplemented,
Internal,
Unavailable,
Dataloss,
}
Expand description
A Twirp error code
Variants§
Canceled
The operation was cancelled.
Unknown
An unknown error occurred. For example, this can be used when handling errors raised by APIs that do not return any error information.
InvalidArgument
The client specified an invalid argument. This indicates arguments that are invalid regardless of the state of the system (i.e. a malformed file name, required argument, number out of range, etc.).
Malformed
The client sent a message which could not be decoded. This may mean that the message was encoded improperly or that the client and server have incompatible message definitions.
DeadlineExceeded
Operation expired before completion. For operations that change the state of the system, this error may be returned even if the operation has completed successfully (timeout).
NotFound
Some requested entity was not found.
BadRoute
The requested URL path wasn’t routable to a Twirp service and method. This is returned by generated server code and should not be returned by application code (use “not_found” or “unimplemented” instead).
AlreadyExists
An attempt to create an entity failed because one already exists.
PermissionDenied
The caller does not have permission to execute the specified operation. It must not be used if the caller cannot be identified (use “unauthenticated” instead).
Unauthenticated
The request does not have valid authentication credentials for the operation.
ResourceExhausted
Some resource has been exhausted or rate-limited, perhaps a per-user quota, or perhaps the entire file system is out of space.
FailedPrecondition
The operation was rejected because the system is not in a state required for the operation’s execution. For example, doing an rmdir operation on a directory that is non-empty, or on a non-directory object, or when having conflicting read-modify-write on the same resource.
Aborted
The operation was aborted, typically due to a concurrency issue like sequencer check failures, transaction aborts, etc.
OutOfRange
The operation was attempted past the valid range. For example, seeking or reading past end of a paginated collection. Unlike “invalid_argument”, this error indicates a problem that may be fixed if the system state changes (i.e. adding more items to the collection). There is a fair bit of overlap between “failed_precondition” and “out_of_range”. We recommend using “out_of_range” (the more specific error) when it applies so that callers who are iterating through a space can easily look for an “out_of_range” error to detect when they are done.
Unimplemented
The operation is not implemented or not supported/enabled in this service.
Internal
When some invariants expected by the underlying system have been broken. In other words, something bad happened in the library or backend service. Twirp specific issues like wire and serialization problems are also reported as “internal” errors.
The service is currently unavailable. This is most likely a transient condition and may be corrected by retrying with a backoff.
Dataloss
The operation resulted in unrecoverable data loss or corruption.
Trait Implementations§
Source§impl Clone for TwirpErrorCode
impl Clone for TwirpErrorCode
Source§fn clone(&self) -> TwirpErrorCode
fn clone(&self) -> TwirpErrorCode
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Debug for TwirpErrorCode
impl Debug for TwirpErrorCode
Source§impl<'de> Deserialize<'de> for TwirpErrorCode
impl<'de> Deserialize<'de> for TwirpErrorCode
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<TwirpErrorCode, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<TwirpErrorCode, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Source§impl From<Code> for TwirpErrorCode
impl From<Code> for TwirpErrorCode
Source§fn from(code: Code) -> TwirpErrorCode
fn from(code: Code) -> TwirpErrorCode
Source§impl PartialEq for TwirpErrorCode
impl PartialEq for TwirpErrorCode
Source§impl Serialize for TwirpErrorCode
impl Serialize for TwirpErrorCode
Source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
impl Copy for TwirpErrorCode
impl Eq for TwirpErrorCode
impl StructuralPartialEq for TwirpErrorCode
Auto Trait Implementations§
impl Freeze for TwirpErrorCode
impl RefUnwindSafe for TwirpErrorCode
impl Send for TwirpErrorCode
impl Sync for TwirpErrorCode
impl Unpin for TwirpErrorCode
impl UnwindSafe for TwirpErrorCode
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<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T
in a tonic::Request