Skip to content

Commit 1c6cf54

Browse files
Drop Deref indirection for BroadcasterInterface
Reduces generics and verbosity across the codebase, should provide equivalent behavior.
1 parent cef001b commit 1c6cf54

11 files changed

Lines changed: 206 additions & 260 deletions

File tree

lightning-background-processor/src/lib.rs

Lines changed: 13 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -286,7 +286,8 @@ impl<
286286
G,
287287
&'a (dyn UtxoLookup + Send + Sync),
288288
L,
289-
> where
289+
>
290+
where
290291
L::Target: Logger,
291292
{
292293
/// Initializes a new [`GossipSync::Rapid`] variant.
@@ -303,7 +304,8 @@ impl<'a, L: Deref>
303304
&'a NetworkGraph<L>,
304305
&'a (dyn UtxoLookup + Send + Sync),
305306
L,
306-
> where
307+
>
308+
where
307309
L::Target: Logger,
308310
{
309311
/// Initializes a new [`GossipSync::None`] variant.
@@ -492,10 +494,9 @@ pub const NO_LIQUIDITY_MANAGER: Option<
492494
K = &DummyKVStore,
493495
TimeProvider = dyn lightning_liquidity::utils::time::TimeProvider + Send + Sync,
494496
TP = &(dyn lightning_liquidity::utils::time::TimeProvider + Send + Sync),
495-
BroadcasterInterface = dyn lightning::chain::chaininterface::BroadcasterInterface
496-
+ Send
497-
+ Sync,
498-
T = &(dyn BroadcasterInterface + Send + Sync),
497+
BroadcasterInterface = &(dyn lightning::chain::chaininterface::BroadcasterInterface
498+
+ Send
499+
+ Sync),
499500
> + Send
500501
+ Sync,
501502
>,
@@ -519,10 +520,9 @@ pub const NO_LIQUIDITY_MANAGER_SYNC: Option<
519520
KS = &(dyn lightning::util::persist::KVStoreSync + Send + Sync),
520521
TimeProvider = dyn lightning_liquidity::utils::time::TimeProvider + Send + Sync,
521522
TP = &(dyn lightning_liquidity::utils::time::TimeProvider + Send + Sync),
522-
BroadcasterInterface = dyn lightning::chain::chaininterface::BroadcasterInterface
523-
+ Send
524-
+ Sync,
525-
T = &(dyn BroadcasterInterface + Send + Sync),
523+
BroadcasterInterface = &(dyn lightning::chain::chaininterface::BroadcasterInterface
524+
+ Send
525+
+ Sync),
526526
> + Send
527527
+ Sync,
528528
>,
@@ -956,7 +956,7 @@ pub async fn process_events_async<
956956
'a,
957957
UL: Deref,
958958
CF: Deref,
959-
T: Deref,
959+
T: BroadcasterInterface,
960960
F: Deref,
961961
G: Deref<Target = NetworkGraph<L>>,
962962
L: Deref,
@@ -989,7 +989,6 @@ pub async fn process_events_async<
989989
where
990990
UL::Target: UtxoLookup,
991991
CF::Target: chain::Filter,
992-
T::Target: BroadcasterInterface,
993992
F::Target: FeeEstimator,
994993
L::Target: Logger,
995994
P::Target: Persist<<CM::Target as AChannelManager>::Signer>,
@@ -1457,7 +1456,7 @@ fn check_and_reset_sleeper<
14571456
pub async fn process_events_async_with_kv_store_sync<
14581457
UL: Deref,
14591458
CF: Deref,
1460-
T: Deref,
1459+
T: BroadcasterInterface,
14611460
F: Deref,
14621461
G: Deref<Target = NetworkGraph<L>>,
14631462
L: Deref,
@@ -1490,7 +1489,6 @@ pub async fn process_events_async_with_kv_store_sync<
14901489
where
14911490
UL::Target: UtxoLookup,
14921491
CF::Target: chain::Filter,
1493-
T::Target: BroadcasterInterface,
14941492
F::Target: FeeEstimator,
14951493
L::Target: Logger,
14961494
P::Target: Persist<<CM::Target as AChannelManager>::Signer>,
@@ -1571,7 +1569,7 @@ impl BackgroundProcessor {
15711569
'a,
15721570
UL: 'static + Deref,
15731571
CF: 'static + Deref,
1574-
T: 'static + Deref,
1572+
T: 'static + BroadcasterInterface,
15751573
F: 'static + Deref + Send,
15761574
G: 'static + Deref<Target = NetworkGraph<L>>,
15771575
L: 'static + Deref + Send,
@@ -1604,7 +1602,6 @@ impl BackgroundProcessor {
16041602
where
16051603
UL::Target: 'static + UtxoLookup,
16061604
CF::Target: 'static + chain::Filter,
1607-
T::Target: 'static + BroadcasterInterface,
16081605
F::Target: 'static + FeeEstimator,
16091606
L::Target: 'static + Logger,
16101607
P::Target: 'static + Persist<<CM::Target as AChannelManager>::Signer>,

lightning-liquidity/src/lsps2/service.rs

Lines changed: 6 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -702,11 +702,10 @@ macro_rules! get_or_insert_peer_state_entry {
702702
}
703703

704704
/// The main object allowing to send and receive bLIP-52 / LSPS2 messages.
705-
pub struct LSPS2ServiceHandler<CM: Deref, K: Deref + Clone, T: Deref>
705+
pub struct LSPS2ServiceHandler<CM: Deref, K: Deref + Clone, T: BroadcasterInterface>
706706
where
707707
CM::Target: AChannelManager,
708708
K::Target: KVStore,
709-
T::Target: BroadcasterInterface,
710709
{
711710
channel_manager: CM,
712711
kv_store: K,
@@ -721,11 +720,10 @@ where
721720
persistence_in_flight: AtomicUsize,
722721
}
723722

724-
impl<CM: Deref, K: Deref + Clone, T: Deref + Clone> LSPS2ServiceHandler<CM, K, T>
723+
impl<CM: Deref, K: Deref + Clone, T: BroadcasterInterface + Clone> LSPS2ServiceHandler<CM, K, T>
725724
where
726725
CM::Target: AChannelManager,
727726
K::Target: KVStore,
728-
T::Target: BroadcasterInterface,
729727
{
730728
/// Constructs a `LSPS2ServiceHandler`.
731729
pub(crate) fn new(
@@ -2044,12 +2042,11 @@ where
20442042
}
20452043
}
20462044

2047-
impl<CM: Deref, K: Deref + Clone, T: Deref + Clone> LSPSProtocolMessageHandler
2045+
impl<CM: Deref, K: Deref + Clone, T: BroadcasterInterface + Clone> LSPSProtocolMessageHandler
20482046
for LSPS2ServiceHandler<CM, K, T>
20492047
where
20502048
CM::Target: AChannelManager,
20512049
K::Target: KVStore,
2052-
T::Target: BroadcasterInterface,
20532050
{
20542051
type ProtocolMessage = LSPS2Message;
20552052
const PROTOCOL_NUMBER: Option<u16> = Some(2);
@@ -2119,20 +2116,19 @@ fn calculate_amount_to_forward_per_htlc(
21192116

21202117
/// A synchroneous wrapper around [`LSPS2ServiceHandler`] to be used in contexts where async is not
21212118
/// available.
2122-
pub struct LSPS2ServiceHandlerSync<'a, CM: Deref, K: Deref + Clone, T: Deref + Clone>
2119+
pub struct LSPS2ServiceHandlerSync<'a, CM: Deref, K: Deref + Clone, T: BroadcasterInterface + Clone>
21232120
where
21242121
CM::Target: AChannelManager,
21252122
K::Target: KVStore,
2126-
T::Target: BroadcasterInterface,
21272123
{
21282124
inner: &'a LSPS2ServiceHandler<CM, K, T>,
21292125
}
21302126

2131-
impl<'a, CM: Deref, K: Deref + Clone, T: Deref + Clone> LSPS2ServiceHandlerSync<'a, CM, K, T>
2127+
impl<'a, CM: Deref, K: Deref + Clone, T: BroadcasterInterface + Clone>
2128+
LSPS2ServiceHandlerSync<'a, CM, K, T>
21322129
where
21332130
CM::Target: AChannelManager,
21342131
K::Target: KVStore,
2135-
T::Target: BroadcasterInterface,
21362132
{
21372133
pub(crate) fn from_inner(inner: &'a LSPS2ServiceHandler<CM, K, T>) -> Self {
21382134
Self { inner }

0 commit comments

Comments
 (0)