Switch Simple*ChannelManager locks around Score to RwLock

This switches the locks used around `ProbabilisticScorer` in
`Simple*ChannelManager` type aliases to `RwLock`.
This commit is contained in:
Matt Corallo 2023-09-30 17:40:42 +00:00
parent 3e93f9ad88
commit 783e255d4f
2 changed files with 4 additions and 4 deletions

View file

@ -501,7 +501,7 @@ use core::task;
/// could setup `process_events_async` like this: /// could setup `process_events_async` like this:
/// ``` /// ```
/// # use lightning::io; /// # use lightning::io;
/// # use std::sync::{Arc, Mutex}; /// # use std::sync::{Arc, RwLock};
/// # use std::sync::atomic::{AtomicBool, Ordering}; /// # use std::sync::atomic::{AtomicBool, Ordering};
/// # use lightning_background_processor::{process_events_async, GossipSync}; /// # use lightning_background_processor::{process_events_async, GossipSync};
/// # struct MyStore {} /// # struct MyStore {}
@ -532,7 +532,7 @@ use core::task;
/// # type MyNetworkGraph = lightning::routing::gossip::NetworkGraph<Arc<MyLogger>>; /// # type MyNetworkGraph = lightning::routing::gossip::NetworkGraph<Arc<MyLogger>>;
/// # type MyGossipSync = lightning::routing::gossip::P2PGossipSync<Arc<MyNetworkGraph>, Arc<MyUtxoLookup>, Arc<MyLogger>>; /// # type MyGossipSync = lightning::routing::gossip::P2PGossipSync<Arc<MyNetworkGraph>, Arc<MyUtxoLookup>, Arc<MyLogger>>;
/// # type MyChannelManager = lightning::ln::channelmanager::SimpleArcChannelManager<MyChainMonitor, MyBroadcaster, MyFeeEstimator, MyLogger>; /// # type MyChannelManager = lightning::ln::channelmanager::SimpleArcChannelManager<MyChainMonitor, MyBroadcaster, MyFeeEstimator, MyLogger>;
/// # type MyScorer = Mutex<lightning::routing::scoring::ProbabilisticScorer<Arc<MyNetworkGraph>, Arc<MyLogger>>>; /// # type MyScorer = RwLock<lightning::routing::scoring::ProbabilisticScorer<Arc<MyNetworkGraph>, Arc<MyLogger>>>;
/// ///
/// # async fn setup_background_processing(my_persister: Arc<MyStore>, my_event_handler: Arc<MyEventHandler>, my_chain_monitor: Arc<MyChainMonitor>, my_channel_manager: Arc<MyChannelManager>, my_gossip_sync: Arc<MyGossipSync>, my_logger: Arc<MyLogger>, my_scorer: Arc<MyScorer>, my_peer_manager: Arc<MyPeerManager>) { /// # async fn setup_background_processing(my_persister: Arc<MyStore>, my_event_handler: Arc<MyEventHandler>, my_chain_monitor: Arc<MyChainMonitor>, my_channel_manager: Arc<MyChannelManager>, my_gossip_sync: Arc<MyGossipSync>, my_logger: Arc<MyLogger>, my_scorer: Arc<MyScorer>, my_peer_manager: Arc<MyPeerManager>) {
/// let background_persister = Arc::clone(&my_persister); /// let background_persister = Arc::clone(&my_persister);

View file

@ -803,7 +803,7 @@ pub type SimpleArcChannelManager<M, T, F, L> = ChannelManager<
Arc<DefaultRouter< Arc<DefaultRouter<
Arc<NetworkGraph<Arc<L>>>, Arc<NetworkGraph<Arc<L>>>,
Arc<L>, Arc<L>,
Arc<Mutex<ProbabilisticScorer<Arc<NetworkGraph<Arc<L>>>, Arc<L>>>>, Arc<RwLock<ProbabilisticScorer<Arc<NetworkGraph<Arc<L>>>, Arc<L>>>>,
ProbabilisticScoringFeeParameters, ProbabilisticScoringFeeParameters,
ProbabilisticScorer<Arc<NetworkGraph<Arc<L>>>, Arc<L>>, ProbabilisticScorer<Arc<NetworkGraph<Arc<L>>>, Arc<L>>,
>>, >>,
@ -832,7 +832,7 @@ pub type SimpleRefChannelManager<'a, 'b, 'c, 'd, 'e, 'f, 'g, 'h, M, T, F, L> =
&'e DefaultRouter< &'e DefaultRouter<
&'f NetworkGraph<&'g L>, &'f NetworkGraph<&'g L>,
&'g L, &'g L,
&'h Mutex<ProbabilisticScorer<&'f NetworkGraph<&'g L>, &'g L>>, &'h RwLock<ProbabilisticScorer<&'f NetworkGraph<&'g L>, &'g L>>,
ProbabilisticScoringFeeParameters, ProbabilisticScoringFeeParameters,
ProbabilisticScorer<&'f NetworkGraph<&'g L>, &'g L> ProbabilisticScorer<&'f NetworkGraph<&'g L>, &'g L>
>, >,