Merge pull request #2631 from TheBlueMatt/2023-09-pm-no-refs-reqd
authorMatt Corallo <649246+TheBlueMatt@users.noreply.github.com>
Tue, 3 Oct 2023 17:12:19 +0000 (17:12 +0000)
committerGitHub <noreply@github.com>
Tue, 3 Oct 2023 17:12:19 +0000 (17:12 +0000)
Fix `Simple*PeerManager` to not require refs to the `UtxoLookup`

1  2 
lightning-background-processor/src/lib.rs

index fb20514efd160185745438b03d44f5faeedf7bd8,4b13d893e7c0408da5b943ed25aa7b5fa017f4e0..2682e3824b6576d19aaafc8f8d930999ac678a29
@@@ -501,7 -501,7 +501,7 @@@ use core::task
  /// could setup `process_events_async` like this:
  /// ```
  /// # use lightning::io;
 -/// # use std::sync::{Arc, Mutex};
 +/// # use std::sync::{Arc, RwLock};
  /// # use std::sync::atomic::{AtomicBool, Ordering};
  /// # use lightning_background_processor::{process_events_async, GossipSync};
  /// # struct MyStore {}
  /// # type MyFilter = dyn lightning::chain::Filter + Send + Sync;
  /// # type MyLogger = dyn lightning::util::logger::Logger + Send + Sync;
  /// # type MyChainMonitor = lightning::chain::chainmonitor::ChainMonitor<lightning::sign::InMemorySigner, Arc<MyFilter>, Arc<MyBroadcaster>, Arc<MyFeeEstimator>, Arc<MyLogger>, Arc<MyStore>>;
- /// # type MyPeerManager = lightning::ln::peer_handler::SimpleArcPeerManager<MySocketDescriptor, MyChainMonitor, MyBroadcaster, MyFeeEstimator, MyUtxoLookup, MyLogger>;
+ /// # type MyPeerManager = lightning::ln::peer_handler::SimpleArcPeerManager<MySocketDescriptor, MyChainMonitor, MyBroadcaster, MyFeeEstimator, Arc<MyUtxoLookup>, MyLogger>;
  /// # type MyNetworkGraph = lightning::routing::gossip::NetworkGraph<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 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>) {
  ///   let background_persister = Arc::clone(&my_persister);
@@@ -1181,7 -1181,7 +1181,7 @@@ mod tests 
                        let network_graph = Arc::new(NetworkGraph::new(network, logger.clone()));
                        let scorer = Arc::new(Mutex::new(TestScorer::new()));
                        let seed = [i as u8; 32];
 -                      let router = Arc::new(DefaultRouter::new(network_graph.clone(), logger.clone(), seed, scorer.clone(), ()));
 +                      let router = Arc::new(DefaultRouter::new(network_graph.clone(), logger.clone(), seed, scorer.clone(), Default::default()));
                        let chain_source = Arc::new(test_utils::TestChainSource::new(Network::Bitcoin));
                        let kv_store = Arc::new(FilesystemStore::new(format!("{}_persister_{}", &persist_dir, i).into()));
                        let now = Duration::from_secs(genesis_block.header.time as u64);