X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=blobdiff_plain;ds=sidebyside;f=lightning-block-sync%2Fsrc%2Flib.rs;h=ac031132a71946f8706954d49138ff3f7b1e574e;hb=f551d5946b3acffefafba2c267116f2ebdbdc973;hp=db536fe7d43778ccb062be5813548f2072353a44;hpb=e77b16049b50a2e6630dc1a7902b9742122bb32f;p=rust-lightning diff --git a/lightning-block-sync/src/lib.rs b/lightning-block-sync/src/lib.rs index db536fe7..ac031132 100644 --- a/lightning-block-sync/src/lib.rs +++ b/lightning-block-sync/src/lib.rs @@ -12,9 +12,10 @@ //! //! Both features support either blocking I/O using `std::net::TcpStream` or, with feature `tokio`, //! non-blocking I/O using `tokio::net::TcpStream` from inside a Tokio runtime. -//! -//! [`SpvClient`]: struct.SpvClient.html -//! [`BlockSource`]: trait.BlockSource.html + +#![deny(broken_intra_doc_links)] +#![deny(missing_docs)] +#![deny(unsafe_code)] #[cfg(any(feature = "rest-client", feature = "rpc-client"))] pub mod http; @@ -69,18 +70,17 @@ pub trait BlockSource : Sync + Send { /// When polling a block source, [`Poll`] implementations may pass the height to [`get_header`] /// to allow for a more efficient lookup. /// - /// [`Poll`]: poll/trait.Poll.html - /// [`get_header`]: #tymethod.get_header + /// [`get_header`]: Self::get_header fn get_best_block<'a>(&'a mut self) -> AsyncBlockSourceResult<(BlockHash, Option)>; } /// Result type for `BlockSource` requests. -type BlockSourceResult = Result; +pub type BlockSourceResult = Result; // TODO: Replace with BlockSourceResult once `async` trait functions are supported. For details, // see: https://areweasyncyet.rs. /// Result type for asynchronous `BlockSource` requests. -type AsyncBlockSourceResult<'a, T> = Pin> + 'a + Send>>; +pub type AsyncBlockSourceResult<'a, T> = Pin> + 'a + Send>>; /// Error type for `BlockSource` requests. /// @@ -176,8 +176,6 @@ where L::Target: chain::Listen { /// Implementations may define how long to retain headers such that it's unlikely they will ever be /// needed to disconnect a block. In cases where block sources provide access to headers on stale /// forks reliably, caches may be entirely unnecessary. -/// -/// [`ChainNotifier`]: struct.ChainNotifier.html pub trait Cache { /// Retrieves the block header keyed by the given block hash. fn look_up(&self, block_hash: &BlockHash) -> Option<&ValidatedBlockHeader>; @@ -218,7 +216,7 @@ impl<'a, P: Poll, C: Cache, L: Deref> SpvClient<'a, P, C, L> where L::Target: ch /// * `header_cache` is used to look up and store headers on the best chain /// * `chain_listener` is notified of any blocks connected or disconnected /// - /// [`poll_best_tip`]: struct.SpvClient.html#method.poll_best_tip + /// [`poll_best_tip`]: SpvClient::poll_best_tip pub fn new( chain_tip: ValidatedBlockHeader, chain_poller: P, @@ -273,7 +271,7 @@ impl<'a, P: Poll, C: Cache, L: Deref> SpvClient<'a, P, C, L> where L::Target: ch /// Notifies [listeners] of blocks that have been connected or disconnected from the chain. /// -/// [listeners]: ../../lightning/chain/trait.Listen.html +/// [listeners]: lightning::chain::Listen pub struct ChainNotifier<'a, C: Cache, L: Deref> where L::Target: chain::Listen { /// Cache for looking up headers before fetching from a block source. header_cache: &'a mut C,