pub enum PaymentFailureReason {
RecipientRejected,
UserAbandoned,
RetriesExhausted,
PaymentExpired,
RouteNotFound,
UnexpectedError,
}
Expand description
The reason the payment failed. Used in Event::PaymentFailed
.
Variants§
RecipientRejected
The intended recipient rejected our payment.
UserAbandoned
The user chose to abandon this payment by calling ChannelManager::abandon_payment
.
RetriesExhausted
We exhausted all of our retry attempts while trying to send the payment, or we
exhausted the Retry::Timeout
if the user set one. If at any point a retry
attempt failed while being forwarded along the path, an Event::PaymentPathFailed
will
have come before this.
PaymentExpired
The payment expired while retrying, based on the provided
PaymentParameters::expiry_time
.
RouteNotFound
We failed to find a route while retrying the payment.
UnexpectedError
This error should generally never happen. This likely means that there is a problem with your router.
Trait Implementations§
§impl Clone for PaymentFailureReason
impl Clone for PaymentFailureReason
§fn clone(&self) -> PaymentFailureReason
fn clone(&self) -> PaymentFailureReason
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read more§impl Debug for PaymentFailureReason
impl Debug for PaymentFailureReason
§impl PartialEq for PaymentFailureReason
impl PartialEq for PaymentFailureReason
§impl Readable for PaymentFailureReason
impl Readable for PaymentFailureReason
§fn read<R>(reader: &mut R) -> Result<PaymentFailureReason, DecodeError>where
R: Read,
fn read<R>(reader: &mut R) -> Result<PaymentFailureReason, DecodeError>where
R: Read,
Reads a
Self
in from the given Read
.§impl Writeable for PaymentFailureReason
impl Writeable for PaymentFailureReason
impl Copy for PaymentFailureReason
impl Eq for PaymentFailureReason
impl StructuralPartialEq for PaymentFailureReason
Auto Trait Implementations§
impl Freeze for PaymentFailureReason
impl RefUnwindSafe for PaymentFailureReason
impl Send for PaymentFailureReason
impl Sync for PaymentFailureReason
impl Unpin for PaymentFailureReason
impl UnwindSafe for PaymentFailureReason
Blanket Implementations§
§impl<T> AnySync for T
impl<T> AnySync for T
§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)§impl<T> Downcast for Twhere
T: AsAny + ?Sized,
impl<T> Downcast for Twhere
T: AsAny + ?Sized,
§fn downcast_ref<T>(&self) -> Option<&T>where
T: AsAny,
fn downcast_ref<T>(&self) -> Option<&T>where
T: AsAny,
Forward to the method defined on the type
Any
.§fn downcast_mut<T>(&mut self) -> Option<&mut T>where
T: AsAny,
fn downcast_mut<T>(&mut self) -> Option<&mut T>where
T: AsAny,
Forward to the method defined on the type
Any
.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<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
Checks if this value is equivalent to the given key. Read more
§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
Compare self to
key
and return true
if they are equal.§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> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T
in a tonic::Request