Merge pull request #2197 from jbesraa/feat/lockable_score_rw
[rust-lightning] / lightning-block-sync / src / lib.rs
index 189a68be0654dab1453ef459d3046d5d0001c17d..3561a1b5d769f19381dfdf1bec1e7749cdf8c2d8 100644 (file)
@@ -28,6 +28,8 @@ pub mod http;
 pub mod init;
 pub mod poll;
 
+pub mod gossip;
+
 #[cfg(feature = "rest-client")]
 pub mod rest;
 
@@ -132,6 +134,9 @@ impl BlockSourceError {
        }
 
        /// Converts the error into the underlying error.
+       ///
+       /// May contain an [`std::io::Error`] from the [`BlockSource`]. See implementations for further
+       /// details, if any.
        pub fn into_inner(self) -> Box<dyn std::error::Error + Send + Sync> {
                self.error
        }
@@ -411,15 +416,15 @@ impl<'a, C: Cache, L: Deref> ChainNotifier<'a, C, L> where L::Target: chain::Lis
                        let height = header.height;
                        let block_data = chain_poller
                                .fetch_block(&header).await
-                               .or_else(|e| Err((e, Some(new_tip))))?;
+                               .map_err(|e| (e, Some(new_tip)))?;
                        debug_assert_eq!(block_data.block_hash, header.block_hash);
 
                        match block_data.deref() {
                                BlockData::FullBlock(block) => {
-                                       self.chain_listener.block_connected(&block, height);
+                                       self.chain_listener.block_connected(block, height);
                                },
                                BlockData::HeaderOnly(header) => {
-                                       self.chain_listener.filtered_block_connected(&header, &[], height);
+                                       self.chain_listener.filtered_block_connected(header, &[], height);
                                },
                        }