38
38
//! # use lightning::ln::channelmanager::{ChannelDetails, PaymentId, PaymentSendFailure};
39
39
//! # use lightning::ln::msgs::LightningError;
40
40
//! # use lightning::routing::gossip::NodeId;
41
- //! # use lightning::routing::router::{Route, RouteHop, RouteParameters};
41
+ //! # use lightning::routing::router::{InFlightHtlcs, Route, RouteHop, RouteParameters};
42
42
//! # use lightning::routing::scoring::{ChannelUsage, Score};
43
43
//! # use lightning::util::events::{Event, EventHandler, EventsProvider};
44
44
//! # use lightning::util::logger::{Logger, Record};
45
45
//! # use lightning::util::ser::{Writeable, Writer};
46
46
//! # use lightning_invoice::Invoice;
47
- //! # use lightning_invoice::payment::{InFlightHtlcs, InvoicePayer, Payer, Retry, Router};
47
+ //! # use lightning_invoice::payment::{InvoicePayer, Payer, Retry, Router};
48
48
//! # use secp256k1::PublicKey;
49
49
//! # use std::cell::RefCell;
50
50
//! # use std::ops::Deref;
@@ -140,16 +140,14 @@ use bitcoin_hashes::Hash;
140
140
use bitcoin_hashes:: sha256:: Hash as Sha256 ;
141
141
142
142
use crate :: prelude:: * ;
143
- use lightning:: io;
144
143
use lightning:: ln:: { PaymentHash , PaymentPreimage , PaymentSecret } ;
145
144
use lightning:: ln:: channelmanager:: { ChannelDetails , PaymentId , PaymentSendFailure } ;
146
145
use lightning:: ln:: msgs:: LightningError ;
147
146
use lightning:: routing:: gossip:: NodeId ;
148
- use lightning:: routing:: router:: { PaymentParameters , Route , RouteHop , RouteParameters } ;
147
+ use lightning:: routing:: router:: { InFlightHtlcs , PaymentParameters , Route , RouteHop , RouteParameters } ;
149
148
use lightning:: util:: errors:: APIError ;
150
149
use lightning:: util:: events:: { Event , EventHandler } ;
151
150
use lightning:: util:: logger:: Logger ;
152
- use lightning:: util:: ser:: Writeable ;
153
151
use crate :: time_utils:: Time ;
154
152
use crate :: sync:: Mutex ;
155
153
@@ -641,7 +639,7 @@ where
641
639
}
642
640
}
643
641
644
- InFlightHtlcs ( total_inflight_map)
642
+ InFlightHtlcs :: new ( total_inflight_map)
645
643
}
646
644
}
647
645
@@ -730,31 +728,6 @@ where
730
728
}
731
729
}
732
730
733
- /// A map with liquidity value (in msat) keyed by a short channel id and the direction the HTLC
734
- /// is traveling in. The direction boolean is determined by checking if the HTLC source's public
735
- /// key is less than its destination. See [`InFlightHtlcs::used_liquidity_msat`] for more
736
- /// details.
737
- pub struct InFlightHtlcs ( HashMap < ( u64 , bool ) , u64 > ) ;
738
-
739
- impl InFlightHtlcs {
740
- /// Returns liquidity in msat given the public key of the HTLC source, target, and short channel
741
- /// id.
742
- pub fn used_liquidity_msat ( & self , source : & NodeId , target : & NodeId , channel_scid : u64 ) -> Option < u64 > {
743
- self . 0 . get ( & ( channel_scid, source < target) ) . map ( |v| * v)
744
- }
745
- }
746
-
747
- impl Writeable for InFlightHtlcs {
748
- fn write < W : lightning:: util:: ser:: Writer > ( & self , writer : & mut W ) -> Result < ( ) , io:: Error > { self . 0 . write ( writer) }
749
- }
750
-
751
- impl lightning:: util:: ser:: Readable for InFlightHtlcs {
752
- fn read < R : io:: Read > ( reader : & mut R ) -> Result < Self , lightning:: ln:: msgs:: DecodeError > {
753
- let infight_map: HashMap < ( u64 , bool ) , u64 > = lightning:: util:: ser:: Readable :: read ( reader) ?;
754
- Ok ( Self ( infight_map) )
755
- }
756
- }
757
-
758
731
#[ cfg( test) ]
759
732
mod tests {
760
733
use super :: * ;
@@ -767,7 +740,7 @@ mod tests {
767
740
use lightning:: ln:: functional_test_utils:: * ;
768
741
use lightning:: ln:: msgs:: { ChannelMessageHandler , ErrorAction , LightningError } ;
769
742
use lightning:: routing:: gossip:: { EffectiveCapacity , NodeId } ;
770
- use lightning:: routing:: router:: { PaymentParameters , Route , RouteHop } ;
743
+ use lightning:: routing:: router:: { InFlightHtlcs , PaymentParameters , Route , RouteHop } ;
771
744
use lightning:: routing:: scoring:: { ChannelUsage , LockableScore , Score } ;
772
745
use lightning:: util:: test_utils:: TestLogger ;
773
746
use lightning:: util:: errors:: APIError ;
@@ -1864,7 +1837,7 @@ mod tests {
1864
1837
impl Router for FailingRouter {
1865
1838
fn find_route (
1866
1839
& self , _payer : & PublicKey , _params : & RouteParameters , _first_hops : Option < & [ & ChannelDetails ] > ,
1867
- _inflight_htlcs : InFlightHtlcs
1840
+ _inflight_htlcs : InFlightHtlcs ,
1868
1841
) -> Result < Route , LightningError > {
1869
1842
Err ( LightningError { err : String :: new ( ) , action : ErrorAction :: IgnoreError } )
1870
1843
}
0 commit comments