Skip to content

Commit 6509e29

Browse files
Drop Deref indirection for Router
Reduces generics and verbosity across the codebase, should provide equivalent behavior.
1 parent eabf70f commit 6509e29

5 files changed

Lines changed: 94 additions & 111 deletions

File tree

lightning/src/ln/channelmanager.rs

Lines changed: 24 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -1790,9 +1790,7 @@ pub trait AChannelManager {
17901790
/// A type implementing [`FeeEstimator`].
17911791
type FeeEstimator: FeeEstimator;
17921792
/// A type implementing [`Router`].
1793-
type Router: Router + ?Sized;
1794-
/// A type that may be dereferenced to [`Self::Router`].
1795-
type R: Deref<Target = Self::Router>;
1793+
type Router: Router;
17961794
/// A type implementing [`MessageRouter`].
17971795
type MessageRouter: MessageRouter + ?Sized;
17981796
/// A type that may be dereferenced to [`Self::MessageRouter`].
@@ -1811,7 +1809,7 @@ pub trait AChannelManager {
18111809
Self::NodeSigner,
18121810
Self::SP,
18131811
Self::FeeEstimator,
1814-
Self::R,
1812+
Self::Router,
18151813
Self::MR,
18161814
Self::L,
18171815
>;
@@ -1824,14 +1822,13 @@ impl<
18241822
NS: NodeSigner,
18251823
SP: Deref,
18261824
F: FeeEstimator,
1827-
R: Deref,
1825+
R: Router,
18281826
MR: Deref,
18291827
L: Deref,
18301828
> AChannelManager for ChannelManager<M, T, ES, NS, SP, F, R, MR, L>
18311829
where
18321830
M::Target: chain::Watch<<SP::Target as SignerProvider>::EcdsaSigner>,
18331831
SP::Target: SignerProvider,
1834-
R::Target: Router,
18351832
MR::Target: MessageRouter,
18361833
L::Target: Logger,
18371834
{
@@ -1844,8 +1841,7 @@ where
18441841
type SignerProvider = SP::Target;
18451842
type SP = SP;
18461843
type FeeEstimator = F;
1847-
type Router = R::Target;
1848-
type R = R;
1844+
type Router = R;
18491845
type MessageRouter = MR::Target;
18501846
type MR = MR;
18511847
type Logger = L::Target;
@@ -2641,13 +2637,12 @@ pub struct ChannelManager<
26412637
NS: NodeSigner,
26422638
SP: Deref,
26432639
F: FeeEstimator,
2644-
R: Deref,
2640+
R: Router,
26452641
MR: Deref,
26462642
L: Deref,
26472643
> where
26482644
M::Target: chain::Watch<<SP::Target as SignerProvider>::EcdsaSigner>,
26492645
SP::Target: SignerProvider,
2650-
R::Target: Router,
26512646
MR::Target: MessageRouter,
26522647
L::Target: Logger,
26532648
{
@@ -3713,14 +3708,13 @@ impl<
37133708
NS: NodeSigner,
37143709
SP: Deref,
37153710
F: FeeEstimator,
3716-
R: Deref,
3711+
R: Router,
37173712
MR: Deref,
37183713
L: Deref,
37193714
> ChannelManager<M, T, ES, NS, SP, F, R, MR, L>
37203715
where
37213716
M::Target: chain::Watch<<SP::Target as SignerProvider>::EcdsaSigner>,
37223717
SP::Target: SignerProvider,
3723-
R::Target: Router,
37243718
MR::Target: MessageRouter,
37253719
L::Target: Logger,
37263720
{
@@ -5754,7 +5748,7 @@ where
57545748
fn check_refresh_async_receive_offer_cache(&self, timer_tick_occurred: bool) {
57555749
let peers = self.get_peers_for_blinded_path();
57565750
let channels = self.list_usable_channels();
5757-
let router = &*self.router;
5751+
let router = &self.router;
57585752
let refresh_res = self.flow.check_refresh_async_receive_offer_cache(
57595753
peers,
57605754
channels,
@@ -13184,14 +13178,13 @@ impl<
1318413178
NS: NodeSigner,
1318513179
SP: Deref,
1318613180
F: FeeEstimator,
13187-
R: Deref,
13181+
R: Router,
1318813182
MR: Deref,
1318913183
L: Deref,
1319013184
> ChannelManager<M, T, ES, NS, SP, F, R, MR, L>
1319113185
where
1319213186
M::Target: chain::Watch<<SP::Target as SignerProvider>::EcdsaSigner>,
1319313187
SP::Target: SignerProvider,
13194-
R::Target: Router,
1319513188
MR::Target: MessageRouter,
1319613189
L::Target: Logger,
1319713190
{
@@ -14032,14 +14025,13 @@ impl<
1403214025
NS: NodeSigner,
1403314026
SP: Deref,
1403414027
F: FeeEstimator,
14035-
R: Deref,
14028+
R: Router,
1403614029
MR: Deref,
1403714030
L: Deref,
1403814031
> BaseMessageHandler for ChannelManager<M, T, ES, NS, SP, F, R, MR, L>
1403914032
where
1404014033
M::Target: chain::Watch<<SP::Target as SignerProvider>::EcdsaSigner>,
1404114034
SP::Target: SignerProvider,
14042-
R::Target: Router,
1404314035
MR::Target: MessageRouter,
1404414036
L::Target: Logger,
1404514037
{
@@ -14386,14 +14378,13 @@ impl<
1438614378
NS: NodeSigner,
1438714379
SP: Deref,
1438814380
F: FeeEstimator,
14389-
R: Deref,
14381+
R: Router,
1439014382
MR: Deref,
1439114383
L: Deref,
1439214384
> EventsProvider for ChannelManager<M, T, ES, NS, SP, F, R, MR, L>
1439314385
where
1439414386
M::Target: chain::Watch<<SP::Target as SignerProvider>::EcdsaSigner>,
1439514387
SP::Target: SignerProvider,
14396-
R::Target: Router,
1439714388
MR::Target: MessageRouter,
1439814389
L::Target: Logger,
1439914390
{
@@ -14417,14 +14408,13 @@ impl<
1441714408
NS: NodeSigner,
1441814409
SP: Deref,
1441914410
F: FeeEstimator,
14420-
R: Deref,
14411+
R: Router,
1442114412
MR: Deref,
1442214413
L: Deref,
1442314414
> chain::Listen for ChannelManager<M, T, ES, NS, SP, F, R, MR, L>
1442414415
where
1442514416
M::Target: chain::Watch<<SP::Target as SignerProvider>::EcdsaSigner>,
1442614417
SP::Target: SignerProvider,
14427-
R::Target: Router,
1442814418
MR::Target: MessageRouter,
1442914419
L::Target: Logger,
1443014420
{
@@ -14474,14 +14464,13 @@ impl<
1447414464
NS: NodeSigner,
1447514465
SP: Deref,
1447614466
F: FeeEstimator,
14477-
R: Deref,
14467+
R: Router,
1447814468
MR: Deref,
1447914469
L: Deref,
1448014470
> chain::Confirm for ChannelManager<M, T, ES, NS, SP, F, R, MR, L>
1448114471
where
1448214472
M::Target: chain::Watch<<SP::Target as SignerProvider>::EcdsaSigner>,
1448314473
SP::Target: SignerProvider,
14484-
R::Target: Router,
1448514474
MR::Target: MessageRouter,
1448614475
L::Target: Logger,
1448714476
{
@@ -14643,14 +14632,13 @@ impl<
1464314632
NS: NodeSigner,
1464414633
SP: Deref,
1464514634
F: FeeEstimator,
14646-
R: Deref,
14635+
R: Router,
1464714636
MR: Deref,
1464814637
L: Deref,
1464914638
> ChannelManager<M, T, ES, NS, SP, F, R, MR, L>
1465014639
where
1465114640
M::Target: chain::Watch<<SP::Target as SignerProvider>::EcdsaSigner>,
1465214641
SP::Target: SignerProvider,
14653-
R::Target: Router,
1465414642
MR::Target: MessageRouter,
1465514643
L::Target: Logger,
1465614644
{
@@ -15001,14 +14989,13 @@ impl<
1500114989
NS: NodeSigner,
1500214990
SP: Deref,
1500314991
F: FeeEstimator,
15004-
R: Deref,
14992+
R: Router,
1500514993
MR: Deref,
1500614994
L: Deref,
1500714995
> ChannelMessageHandler for ChannelManager<M, T, ES, NS, SP, F, R, MR, L>
1500814996
where
1500914997
M::Target: chain::Watch<<SP::Target as SignerProvider>::EcdsaSigner>,
1501014998
SP::Target: SignerProvider,
15011-
R::Target: Router,
1501214999
MR::Target: MessageRouter,
1501315000
L::Target: Logger,
1501415001
{
@@ -15572,14 +15559,13 @@ impl<
1557215559
NS: NodeSigner,
1557315560
SP: Deref,
1557415561
F: FeeEstimator,
15575-
R: Deref,
15562+
R: Router,
1557615563
MR: Deref,
1557715564
L: Deref,
1557815565
> OffersMessageHandler for ChannelManager<M, T, ES, NS, SP, F, R, MR, L>
1557915566
where
1558015567
M::Target: chain::Watch<<SP::Target as SignerProvider>::EcdsaSigner>,
1558115568
SP::Target: SignerProvider,
15582-
R::Target: Router,
1558315569
MR::Target: MessageRouter,
1558415570
L::Target: Logger,
1558515571
{
@@ -15786,14 +15772,13 @@ impl<
1578615772
NS: NodeSigner,
1578715773
SP: Deref,
1578815774
F: FeeEstimator,
15789-
R: Deref,
15775+
R: Router,
1579015776
MR: Deref,
1579115777
L: Deref,
1579215778
> AsyncPaymentsMessageHandler for ChannelManager<M, T, ES, NS, SP, F, R, MR, L>
1579315779
where
1579415780
M::Target: chain::Watch<<SP::Target as SignerProvider>::EcdsaSigner>,
1579515781
SP::Target: SignerProvider,
15796-
R::Target: Router,
1579715782
MR::Target: MessageRouter,
1579815783
L::Target: Logger,
1579915784
{
@@ -15824,7 +15809,7 @@ where
1582415809
self.get_peers_for_blinded_path(),
1582515810
self.list_usable_channels(),
1582615811
&self.entropy_source,
15827-
&*self.router,
15812+
&self.router,
1582815813
) {
1582915814
Some((msg, ctx)) => (msg, ctx),
1583015815
None => return None,
@@ -15984,14 +15969,13 @@ impl<
1598415969
NS: NodeSigner,
1598515970
SP: Deref,
1598615971
F: FeeEstimator,
15987-
R: Deref,
15972+
R: Router,
1598815973
MR: Deref,
1598915974
L: Deref,
1599015975
> DNSResolverMessageHandler for ChannelManager<M, T, ES, NS, SP, F, R, MR, L>
1599115976
where
1599215977
M::Target: chain::Watch<<SP::Target as SignerProvider>::EcdsaSigner>,
1599315978
SP::Target: SignerProvider,
15994-
R::Target: Router,
1599515979
MR::Target: MessageRouter,
1599615980
L::Target: Logger,
1599715981
{
@@ -16048,14 +16032,13 @@ impl<
1604816032
NS: NodeSigner,
1604916033
SP: Deref,
1605016034
F: FeeEstimator,
16051-
R: Deref,
16035+
R: Router,
1605216036
MR: Deref,
1605316037
L: Deref,
1605416038
> NodeIdLookUp for ChannelManager<M, T, ES, NS, SP, F, R, MR, L>
1605516039
where
1605616040
M::Target: chain::Watch<<SP::Target as SignerProvider>::EcdsaSigner>,
1605716041
SP::Target: SignerProvider,
16058-
R::Target: Router,
1605916042
MR::Target: MessageRouter,
1606016043
L::Target: Logger,
1606116044
{
@@ -16560,14 +16543,13 @@ impl<
1656016543
NS: NodeSigner,
1656116544
SP: Deref,
1656216545
F: FeeEstimator,
16563-
R: Deref,
16546+
R: Router,
1656416547
MR: Deref,
1656516548
L: Deref,
1656616549
> Writeable for ChannelManager<M, T, ES, NS, SP, F, R, MR, L>
1656716550
where
1656816551
M::Target: chain::Watch<<SP::Target as SignerProvider>::EcdsaSigner>,
1656916552
SP::Target: SignerProvider,
16570-
R::Target: Router,
1657116553
MR::Target: MessageRouter,
1657216554
L::Target: Logger,
1657316555
{
@@ -16923,13 +16905,12 @@ pub struct ChannelManagerReadArgs<
1692316905
NS: NodeSigner,
1692416906
SP: Deref,
1692516907
F: FeeEstimator,
16926-
R: Deref,
16908+
R: Router,
1692716909
MR: Deref,
1692816910
L: Deref + Clone,
1692916911
> where
1693016912
M::Target: chain::Watch<<SP::Target as SignerProvider>::EcdsaSigner>,
1693116913
SP::Target: SignerProvider,
16932-
R::Target: Router,
1693316914
MR::Target: MessageRouter,
1693416915
L::Target: Logger,
1693516916
{
@@ -16999,14 +16980,13 @@ impl<
1699916980
NS: NodeSigner,
1700016981
SP: Deref,
1700116982
F: FeeEstimator,
17002-
R: Deref,
16983+
R: Router,
1700316984
MR: Deref,
1700416985
L: Deref + Clone,
1700516986
> ChannelManagerReadArgs<'a, M, T, ES, NS, SP, F, R, MR, L>
1700616987
where
1700716988
M::Target: chain::Watch<<SP::Target as SignerProvider>::EcdsaSigner>,
1700816989
SP::Target: SignerProvider,
17009-
R::Target: Router,
1701016990
MR::Target: MessageRouter,
1701116991
L::Target: Logger,
1701216992
{
@@ -17083,15 +17063,14 @@ impl<
1708317063
NS: NodeSigner,
1708417064
SP: Deref,
1708517065
F: FeeEstimator,
17086-
R: Deref,
17066+
R: Router,
1708717067
MR: Deref,
1708817068
L: Deref + Clone,
1708917069
> ReadableArgs<ChannelManagerReadArgs<'a, M, T, ES, NS, SP, F, R, MR, L>>
1709017070
for (BlockHash, Arc<ChannelManager<M, T, ES, NS, SP, F, R, MR, L>>)
1709117071
where
1709217072
M::Target: chain::Watch<<SP::Target as SignerProvider>::EcdsaSigner>,
1709317073
SP::Target: SignerProvider,
17094-
R::Target: Router,
1709517074
MR::Target: MessageRouter,
1709617075
L::Target: Logger,
1709717076
{
@@ -17112,15 +17091,14 @@ impl<
1711217091
NS: NodeSigner,
1711317092
SP: Deref,
1711417093
F: FeeEstimator,
17115-
R: Deref,
17094+
R: Router,
1711617095
MR: Deref,
1711717096
L: Deref + Clone,
1711817097
> ReadableArgs<ChannelManagerReadArgs<'a, M, T, ES, NS, SP, F, R, MR, L>>
1711917098
for (BlockHash, ChannelManager<M, T, ES, NS, SP, F, R, MR, L>)
1712017099
where
1712117100
M::Target: chain::Watch<<SP::Target as SignerProvider>::EcdsaSigner>,
1712217101
SP::Target: SignerProvider,
17123-
R::Target: Router,
1712417102
MR::Target: MessageRouter,
1712517103
L::Target: Logger,
1712617104
{

lightning/src/ln/functional_test_utils.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -737,7 +737,7 @@ pub trait NodeHolder {
737737
<Self::CM as AChannelManager>::NodeSigner,
738738
<Self::CM as AChannelManager>::SP,
739739
<Self::CM as AChannelManager>::FeeEstimator,
740-
<Self::CM as AChannelManager>::R,
740+
<Self::CM as AChannelManager>::Router,
741741
<Self::CM as AChannelManager>::MR,
742742
<Self::CM as AChannelManager>::L,
743743
>;
@@ -754,7 +754,7 @@ impl<H: NodeHolder> NodeHolder for &H {
754754
<Self::CM as AChannelManager>::NodeSigner,
755755
<Self::CM as AChannelManager>::SP,
756756
<Self::CM as AChannelManager>::FeeEstimator,
757-
<Self::CM as AChannelManager>::R,
757+
<Self::CM as AChannelManager>::Router,
758758
<Self::CM as AChannelManager>::MR,
759759
<Self::CM as AChannelManager>::L,
760760
> {

0 commit comments

Comments
 (0)