Skip to content

Commit 09db4f3

Browse files
committed
WIP still have issues with test_utils
1 parent 0f2c4c0 commit 09db4f3

File tree

3 files changed

+18
-18
lines changed

3 files changed

+18
-18
lines changed

lightning/src/ln/channelmanager.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -736,7 +736,6 @@ pub type SimpleArcChannelManager<M, T, F, L> = ChannelManager<
736736
Arc<L>,
737737
Arc<Mutex<ProbabilisticScorer<Arc<NetworkGraph<Arc<L>>>, Arc<L>>>>,
738738
ProbabilisticScoringFeeParameters,
739-
ProbabilisticScorer<Arc<NetworkGraph<Arc<L>>>, Arc<L>>,
740739
>>,
741740
Arc<L>
742741
>;
@@ -752,7 +751,7 @@ pub type SimpleArcChannelManager<M, T, F, L> = ChannelManager<
752751
/// of [`KeysManager`] and [`DefaultRouter`].
753752
///
754753
/// This is not exported to bindings users as Arcs don't make sense in bindings
755-
pub type SimpleRefChannelManager<'a, 'b, 'c, 'd, 'e, 'f, 'g, 'h, M, T, F, L> = ChannelManager<&'a M, &'b T, &'c KeysManager, &'c KeysManager, &'c KeysManager, &'d F, &'e DefaultRouter<&'f NetworkGraph<&'g L>, &'g L, &'h Mutex<ProbabilisticScorer<&'f NetworkGraph<&'g L>, &'g L>>, ProbabilisticScoringFeeParameters, ProbabilisticScorer<&'f NetworkGraph<&'g L>, &'g L>>, &'g L>;
754+
pub type SimpleRefChannelManager<'a, 'b, 'c, 'd, 'e, 'f, 'g, 'h, M, T, F, L> = ChannelManager<&'a M, &'b T, &'c KeysManager, &'c KeysManager, &'c KeysManager, &'d F, &'e DefaultRouter<&'f NetworkGraph<&'g L>,&'g L,&'h Mutex<ProbabilisticScorer<&'f NetworkGraph<&'g L>, &'g L>>,ProbabilisticScoringFeeParameters>, &'g L>;
756755

757756
macro_rules! define_test_pub_trait { ($vis: vis) => {
758757
/// A trivial trait which describes any [`ChannelManager`] used in testing.

lightning/src/routing/router.rs

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -27,15 +27,15 @@ use crate::util::chacha20::ChaCha20;
2727

2828
use crate::io;
2929
use crate::prelude::*;
30-
use crate::sync::{Mutex, MutexGuard};
30+
use crate::sync::{Mutex};
3131
use alloc::collections::BinaryHeap;
3232
use core::{cmp, fmt};
33-
use core::ops::Deref;
33+
use core::ops::{Deref,DerefMut};
3434

3535
/// A [`Router`] implemented using [`find_route`].
36-
pub struct DefaultRouter<G: Deref<Target = NetworkGraph<L>>, L: Deref, S: Deref, SP: Sized, Sc: Score<ScoreParams = SP>> where
36+
pub struct DefaultRouter<G: Deref<Target = NetworkGraph<L>>, L: Deref, S: Deref, SP: Sized> where
3737
L::Target: Logger,
38-
S::Target: for <'a> LockableScore<'a, Locked = MutexGuard<'a, Sc>>,
38+
S::Target: for <'a> LockableScore<'a, Locked = 'a + DerefMut<Target = Score<ScoreParams = SP>>>,
3939
{
4040
network_graph: G,
4141
logger: L,
@@ -44,9 +44,9 @@ pub struct DefaultRouter<G: Deref<Target = NetworkGraph<L>>, L: Deref, S: Deref,
4444
score_params: SP
4545
}
4646

47-
impl<G: Deref<Target = NetworkGraph<L>>, L: Deref, S: Deref, SP: Sized, Sc: Score<ScoreParams = SP>> DefaultRouter<G, L, S, SP, Sc> where
47+
impl<G: Deref<Target = NetworkGraph<L>>, L: Deref, S: Deref, SP: Sized> DefaultRouter<G, L, S, SP> where
4848
L::Target: Logger,
49-
S::Target: for <'a> LockableScore<'a, Locked = MutexGuard<'a, Sc>>,
49+
S::Target: for <'a> LockableScore<'a, Locked = 'a + DerefMut<Target = Score<ScoreParams = SP>>>,
5050
{
5151
/// Creates a new router.
5252
pub fn new(network_graph: G, logger: L, random_seed_bytes: [u8; 32], scorer: S, score_params: SP) -> Self {
@@ -55,9 +55,9 @@ impl<G: Deref<Target = NetworkGraph<L>>, L: Deref, S: Deref, SP: Sized, Sc: Scor
5555
}
5656
}
5757

58-
impl< G: Deref<Target = NetworkGraph<L>>, L: Deref, S: Deref, SP: Sized, Sc: Score<ScoreParams = SP>> Router for DefaultRouter<G, L, S, SP, Sc> where
58+
impl< G: Deref<Target = NetworkGraph<L>>, L: Deref, S: Deref, SP: Sized> Router for DefaultRouter<G, L, S, SP> where
5959
L::Target: Logger,
60-
S::Target: for <'a> LockableScore<'a, Locked = MutexGuard<'a, Sc>>,
60+
S::Target: for <'a> LockableScore<'a, Locked = 'a + DerefMut<Target = Score<ScoreParams = SP>>>,
6161
{
6262
fn find_route(
6363
&self,
@@ -73,7 +73,7 @@ impl< G: Deref<Target = NetworkGraph<L>>, L: Deref, S: Deref, SP: Sized, Sc: Sc
7373
};
7474
find_route(
7575
payer, params, &self.network_graph, first_hops, &*self.logger,
76-
&ScorerAccountingForInFlightHtlcs::new(self.scorer.lock(), inflight_htlcs),
76+
&ScorerAccountingForInFlightHtlcs::new(&self.scorer.lock(), inflight_htlcs),
7777
&self.score_params,
7878
&random_seed_bytes
7979
)
@@ -104,15 +104,15 @@ pub trait Router {
104104
/// [`find_route`].
105105
///
106106
/// [`Score`]: crate::routing::scoring::Score
107-
pub struct ScorerAccountingForInFlightHtlcs<'a, S: Score> {
108-
scorer: S,
107+
pub struct ScorerAccountingForInFlightHtlcs<'a, SP: Sized> {
108+
scorer: &'a dyn DerefMut<Target = Score<ScoreParams = SP>>,
109109
// Maps a channel's short channel id and its direction to the liquidity used up.
110110
inflight_htlcs: &'a InFlightHtlcs,
111111
}
112112

113-
impl<'a, S: Score> ScorerAccountingForInFlightHtlcs<'a, S> {
113+
impl<'a, SP: Sized> ScorerAccountingForInFlightHtlcs<'a, SP> {
114114
/// Initialize a new `ScorerAccountingForInFlightHtlcs`.
115-
pub fn new(scorer: S, inflight_htlcs: &'a InFlightHtlcs) -> Self {
115+
pub fn new(scorer: &dyn DerefMut<Target = Score<ScoreParams = SP>>, inflight_htlcs: &'a InFlightHtlcs) -> Self {
116116
ScorerAccountingForInFlightHtlcs {
117117
scorer,
118118
inflight_htlcs
@@ -125,8 +125,8 @@ impl<'a, S: Score> Writeable for ScorerAccountingForInFlightHtlcs<'a, S> {
125125
fn write<W: Writer>(&self, writer: &mut W) -> Result<(), io::Error> { self.scorer.write(writer) }
126126
}
127127

128-
impl<'a, S: Score> Score for ScorerAccountingForInFlightHtlcs<'a, S> {
129-
type ScoreParams = S::ScoreParams;
128+
impl<'a, SP: Sized> Score for ScorerAccountingForInFlightHtlcs<'a, SP> {
129+
type ScoreParams = SP;
130130
fn channel_penalty_msat(&self, short_channel_id: u64, source: &NodeId, target: &NodeId, usage: ChannelUsage, score_params: &Self::ScoreParams) -> u64 {
131131
if let Some(used_liquidity) = self.inflight_htlcs.used_liquidity_msat(
132132
source, target, short_channel_id

lightning/src/util/test_utils.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,8 +51,9 @@ use regex;
5151
use crate::io;
5252
use crate::prelude::*;
5353
use core::cell::RefCell;
54+
use core::ops::DerefMut;
5455
use core::time::Duration;
55-
use crate::sync::{Mutex, Arc};
56+
use crate::sync::{Mutex, Arc, MutexGuard};
5657
use core::sync::atomic::{AtomicBool, AtomicUsize, Ordering};
5758
use core::mem;
5859
use bitcoin::bech32::u5;

0 commit comments

Comments
 (0)