pub enum SuotarErrorVariant {
Unauthorized,
MalformedRequest,
RequestLevelError,
ServerError,
TransportNotDelivered,
TransportUnknown,
Deserialization,
}Expand description
How a call to Suotar failed at the request level. Per-item failures are not errors: they come back inside a successful batch response.
Variants§
Our credentials. Loud, and never attributed to the rows in the batch.
MalformedRequest
Our request. Loud, and never attributed to the rows in the batch.
RequestLevelError
Another 4xx carrying the documented { error: { code, message } } body.
ServerError
TransportNotDelivered
The connection itself failed, so the request provably never arrived.
TransportUnknown
The request left and the answer did not arrive. A timeout is this, not the above.
Deserialization
Suotar answered, and the answer was not a batch response.
Implementations§
Source§impl SuotarErrorVariant
impl SuotarErrorVariant
Sourcepub fn outcome_may_have_landed(self) -> bool
pub fn outcome_may_have_landed(self) -> bool
Whether Suotar may have acted on the request. An import that may have landed must be verified rather than re-sent, or a transcript gets a second attainment.
A 4xx (Unauthorized, MalformedRequest, RequestLevelError) never reached Suotar’s
business logic, so it is as resendable as a connection that never opened
(TransportNotDelivered); a genuine 5xx (ServerError), a response that never arrived
(TransportUnknown), or one that arrived malformed (Deserialization) all leave the
outcome unknown.
Trait Implementations§
Source§impl Clone for SuotarErrorVariant
impl Clone for SuotarErrorVariant
Source§fn clone(&self) -> SuotarErrorVariant
fn clone(&self) -> SuotarErrorVariant
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for SuotarErrorVariant
impl Debug for SuotarErrorVariant
Source§impl PartialEq for SuotarErrorVariant
impl PartialEq for SuotarErrorVariant
impl Copy for SuotarErrorVariant
impl Eq for SuotarErrorVariant
impl StructuralPartialEq for SuotarErrorVariant
Auto Trait Implementations§
impl Freeze for SuotarErrorVariant
impl RefUnwindSafe for SuotarErrorVariant
impl Send for SuotarErrorVariant
impl Sync for SuotarErrorVariant
impl Unpin for SuotarErrorVariant
impl UnsafeUnpin for SuotarErrorVariant
impl UnwindSafe for SuotarErrorVariant
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,
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.§impl<T> FutureExt for T
impl<T> FutureExt for T
§fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
§fn with_current_context(self) -> WithContext<Self> ⓘ
fn with_current_context(self) -> WithContext<Self> ⓘ
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::Request§impl<L> LayerExt<L> for L
impl<L> LayerExt<L> for L
§fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
Layered].