pub enum RelayOutcome {
Acked,
Refused {
reason: String,
},
Unreachable {
reason: String,
},
}Expand description
What one relay attempt established.
Why: three states, not two. “Reached the target and it refused” and “never
reached the target” call for different operator action, and neither is an
acknowledgement. Only RelayOutcome::Acked permits deleting the entry.
What: Acked carries nothing; the other two carry a human-readable reason
written into the entry’s last_error.
Test: relay_* cases in webhook/tests.rs.
Variants§
Acked
The target answered with an explicit "ack": true.
Refused
The target answered, but not with an acknowledgement — a JSON-RPC
error, "ack": false, or a result with no ack field at all.
Unreachable
The target could not be reached, did not answer, or answered unintelligibly.
Implementations§
Source§impl RelayOutcome
impl RelayOutcome
Trait Implementations§
Source§impl Clone for RelayOutcome
impl Clone for RelayOutcome
Source§fn clone(&self) -> RelayOutcome
fn clone(&self) -> RelayOutcome
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for RelayOutcome
impl Debug for RelayOutcome
impl Eq for RelayOutcome
Source§impl PartialEq for RelayOutcome
impl PartialEq for RelayOutcome
impl StructuralPartialEq for RelayOutcome
Auto Trait Implementations§
impl Freeze for RelayOutcome
impl RefUnwindSafe for RelayOutcome
impl Send for RelayOutcome
impl Sync for RelayOutcome
impl Unpin for RelayOutcome
impl UnsafeUnpin for RelayOutcome
impl UnwindSafe for RelayOutcome
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
Mutably borrows from an owned value. Read more
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§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
Compare self to
key and return true if they are equal.impl<A, B, T> HttpServerConnExec<A, B> for Twhere
B: Body,
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> 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> ⓘ
Converts
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> ⓘ
Converts
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