projects
/
rust-lightning
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge pull request #1219 from TheBlueMatt/2021-12-0.0.104-bindings
[rust-lightning]
/
lightning-invoice
/
src
/
payment.rs
diff --git
a/lightning-invoice/src/payment.rs
b/lightning-invoice/src/payment.rs
index d08f38facd45acbc5c173d147499f49d72779619..d82ff1f4e83c5676bd104d400ebd356419def392 100644
(file)
--- a/
lightning-invoice/src/payment.rs
+++ b/
lightning-invoice/src/payment.rs
@@
-133,7
+133,7
@@
use bitcoin_hashes::sha256::Hash as Sha256;
use lightning::ln::{PaymentHash, PaymentPreimage, PaymentSecret};
use lightning::ln::channelmanager::{ChannelDetails, PaymentId, PaymentSendFailure};
use lightning::ln::msgs::LightningError;
use lightning::ln::{PaymentHash, PaymentPreimage, PaymentSecret};
use lightning::ln::channelmanager::{ChannelDetails, PaymentId, PaymentSendFailure};
use lightning::ln::msgs::LightningError;
-use lightning::routing::scoring::{LockableScore, Score};
+use lightning::routing::scoring::{LockableScore,
MultiThreadedLockableScore,
Score};
use lightning::routing::router::{Payee, Route, RouteParameters};
use lightning::util::events::{Event, EventHandler};
use lightning::util::logger::Logger;
use lightning::routing::router::{Payee, Route, RouteParameters};
use lightning::util::events::{Event, EventHandler};
use lightning::util::logger::Logger;
@@
-150,17
+150,15
@@
use std::time::{Duration, SystemTime};
/// See [module-level documentation] for details.
///
/// [module-level documentation]: crate::payment
/// See [module-level documentation] for details.
///
/// [module-level documentation]: crate::payment
-pub struct InvoicePayer<P: Deref,
R, S: Deref, L: Deref, E
>
+pub struct InvoicePayer<P: Deref,
S: Score, R: Deref, SR: Deref<Target = MultiThreadedLockableScore<S>>, L: Deref, E: EventHandler
>
where
P::Target: Payer,
where
P::Target: Payer,
- R: for <'a> Router<<<S as Deref>::Target as LockableScore<'a>>::Locked>,
- S::Target: for <'a> LockableScore<'a>,
+ R::Target: Router<S>,
L::Target: Logger,
L::Target: Logger,
- E: EventHandler,
{
payer: P,
router: R,
{
payer: P,
router: R,
- scorer: S,
+ scorer: S
R
,
logger: L,
event_handler: E,
/// Caches the overall attempts at making a payment, which is updated prior to retrying.
logger: L,
event_handler: E,
/// Caches the overall attempts at making a payment, which is updated prior to retrying.
@@
-221,20
+219,18
@@
pub enum PaymentError {
Sending(PaymentSendFailure),
}
Sending(PaymentSendFailure),
}
-impl<P: Deref,
R, S: Deref, L: Deref, E> InvoicePayer<P, R, S
, L, E>
+impl<P: Deref,
S: Score, R: Deref, SR: Deref<Target = MultiThreadedLockableScore<S>>, L: Deref, E: EventHandler> InvoicePayer<P, S, R, SR
, L, E>
where
P::Target: Payer,
where
P::Target: Payer,
- R: for <'a> Router<<<S as Deref>::Target as LockableScore<'a>>::Locked>,
- S::Target: for <'a> LockableScore<'a>,
+ R::Target: Router<S>,
L::Target: Logger,
L::Target: Logger,
- E: EventHandler,
{
/// Creates an invoice payer that retries failed payment paths.
///
/// Will forward any [`Event::PaymentPathFailed`] events to the decorated `event_handler` once
/// `retry_attempts` has been exceeded for a given [`Invoice`].
pub fn new(
{
/// Creates an invoice payer that retries failed payment paths.
///
/// Will forward any [`Event::PaymentPathFailed`] events to the decorated `event_handler` once
/// `retry_attempts` has been exceeded for a given [`Invoice`].
pub fn new(
- payer: P, router: R, scorer: S, logger: L, event_handler: E, retry_attempts: RetryAttempts
+ payer: P, router: R, scorer: S
R
, logger: L, event_handler: E, retry_attempts: RetryAttempts
) -> Self {
Self {
payer,
) -> Self {
Self {
payer,
@@
-455,13
+451,11
@@
fn has_expired(params: &RouteParameters) -> bool {
} else { false }
}
} else { false }
}
-impl<P: Deref,
R, S: Deref, L: Deref, E> EventHandler for InvoicePayer<P, R, S
, L, E>
+impl<P: Deref,
S: Score, R: Deref, SR: Deref<Target = MultiThreadedLockableScore<S>>, L: Deref, E: EventHandler> EventHandler for InvoicePayer<P, S, R, SR
, L, E>
where
P::Target: Payer,
where
P::Target: Payer,
- R: for <'a> Router<<<S as Deref>::Target as LockableScore<'a>>::Locked>,
- S::Target: for <'a> LockableScore<'a>,
+ R::Target: Router<S>,
L::Target: Logger,
L::Target: Logger,
- E: EventHandler,
{
fn handle_event(&self, event: &Event) {
match event {
{
fn handle_event(&self, event: &Event) {
match event {