Enum PaymentFailureReason
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.
Note that this generally indicates that we’ve exhausted the available set of possible routes - we tried the payment over a few routes but were not able to find any further candidate routes beyond those.
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
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
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,
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§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,
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,
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
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
§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<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
§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 moreSource§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