3838//! # use lightning::ln::channelmanager::{ChannelDetails, PaymentId, PaymentSendFailure};
3939//! # use lightning::ln::msgs::LightningError;
4040//! # use lightning::routing::gossip::NodeId;
41- //! # use lightning::routing::router::{Route, RouteHop, RouteParameters};
41+ //! # use lightning::routing::router::{InFlightHtlcs, Route, RouteHop, RouteParameters};
4242//! # use lightning::routing::scoring::{ChannelUsage, Score};
4343//! # use lightning::util::events::{Event, EventHandler, EventsProvider};
4444//! # use lightning::util::logger::{Logger, Record};
4545//! # use lightning::util::ser::{Writeable, Writer};
4646//! # use lightning_invoice::Invoice;
47- //! # use lightning_invoice::payment::{InFlightHtlcs, InvoicePayer, Payer, Retry, Router};
47+ //! # use lightning_invoice::payment::{InvoicePayer, Payer, Retry, Router};
4848//! # use secp256k1::PublicKey;
4949//! # use std::cell::RefCell;
5050//! # use std::ops::Deref;
@@ -140,16 +140,14 @@ use bitcoin_hashes::Hash;
140140use bitcoin_hashes:: sha256:: Hash as Sha256 ;
141141
142142use crate :: prelude:: * ;
143- use lightning:: io;
144143use lightning:: ln:: { PaymentHash , PaymentPreimage , PaymentSecret } ;
145144use lightning:: ln:: channelmanager:: { ChannelDetails , PaymentId , PaymentSendFailure } ;
146145use lightning:: ln:: msgs:: LightningError ;
147146use lightning:: routing:: gossip:: NodeId ;
148- use lightning:: routing:: router:: { PaymentParameters , Route , RouteHop , RouteParameters } ;
147+ use lightning:: routing:: router:: { InFlightHtlcs , PaymentParameters , Route , RouteHop , RouteParameters } ;
149148use lightning:: util:: errors:: APIError ;
150149use lightning:: util:: events:: { Event , EventHandler } ;
151150use lightning:: util:: logger:: Logger ;
152- use lightning:: util:: ser:: Writeable ;
153151use crate :: time_utils:: Time ;
154152use crate :: sync:: Mutex ;
155153
@@ -641,7 +639,7 @@ where
641639 }
642640 }
643641
644- InFlightHtlcs ( total_inflight_map)
642+ InFlightHtlcs :: new ( total_inflight_map)
645643 }
646644}
647645
@@ -730,31 +728,6 @@ where
730728 }
731729}
732730
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-
758731#[ cfg( test) ]
759732mod tests {
760733 use super :: * ;
@@ -767,7 +740,7 @@ mod tests {
767740 use lightning:: ln:: functional_test_utils:: * ;
768741 use lightning:: ln:: msgs:: { ChannelMessageHandler , ErrorAction , LightningError } ;
769742 use lightning:: routing:: gossip:: { EffectiveCapacity , NodeId } ;
770- use lightning:: routing:: router:: { PaymentParameters , Route , RouteHop } ;
743+ use lightning:: routing:: router:: { InFlightHtlcs , PaymentParameters , Route , RouteHop } ;
771744 use lightning:: routing:: scoring:: { ChannelUsage , LockableScore , Score } ;
772745 use lightning:: util:: test_utils:: TestLogger ;
773746 use lightning:: util:: errors:: APIError ;
@@ -1864,7 +1837,7 @@ mod tests {
18641837 impl Router for FailingRouter {
18651838 fn find_route (
18661839 & self , _payer : & PublicKey , _params : & RouteParameters , _first_hops : Option < & [ & ChannelDetails ] > ,
1867- _inflight_htlcs : InFlightHtlcs
1840+ _inflight_htlcs : InFlightHtlcs ,
18681841 ) -> Result < Route , LightningError > {
18691842 Err ( LightningError { err : String :: new ( ) , action : ErrorAction :: IgnoreError } )
18701843 }
0 commit comments