X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=blobdiff_plain;f=lightning-block-sync%2Fsrc%2Flib.rs;h=ac031132a71946f8706954d49138ff3f7b1e574e;hb=b8d71533889902810d618ff7ea2f3091088b3c59;hp=96f811d3ee580245672297b306d2b04937fb4a03;hpb=18a096775849e8f10457a4b0c51721f1227909b0;p=rust-lightning diff --git a/lightning-block-sync/src/lib.rs b/lightning-block-sync/src/lib.rs index 96f811d3..ac031132 100644 --- a/lightning-block-sync/src/lib.rs +++ b/lightning-block-sync/src/lib.rs @@ -12,11 +12,9 @@ //! //! 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"))] @@ -72,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. /// @@ -179,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>; @@ -221,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, @@ -276,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,