pub struct FullBlockDownloader { /* private fields */ }
Expand description
The full block downloader implementation of `BlockDownloader.
Trait Implementations§
source§impl<B: BlockT> BlockDownloader<B> for FullBlockDownloader
impl<B: BlockT> BlockDownloader<B> for FullBlockDownloader
source§fn download_blocks<'life0, 'async_trait>(
&'life0 self,
who: PeerId,
request: BlockRequest<B>
) -> Pin<Box<dyn Future<Output = Result<Result<Vec<u8>, RequestFailure>, Canceled>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn download_blocks<'life0, 'async_trait>( &'life0 self, who: PeerId, request: BlockRequest<B> ) -> Pin<Box<dyn Future<Output = Result<Result<Vec<u8>, RequestFailure>, Canceled>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait,
Performs the protocol specific sequence to fetch the blocks from the peer.
Output: if the download succeeds, the response is a
Vec<u8>
which is
in a format specific to the protocol implementation. The block data
can be extracted from this response using BlockDownloader::block_response_into_blocks
.source§fn block_response_into_blocks(
&self,
request: &BlockRequest<B>,
response: Vec<u8>
) -> Result<Vec<BlockData<B>>, BlockResponseError>
fn block_response_into_blocks( &self, request: &BlockRequest<B>, response: Vec<u8> ) -> Result<Vec<BlockData<B>>, BlockResponseError>
Parses the protocol specific response to retrieve the block data.
Auto Trait Implementations§
impl RefUnwindSafe for FullBlockDownloader
impl Send for FullBlockDownloader
impl Sync for FullBlockDownloader
impl Unpin for FullBlockDownloader
impl UnwindSafe for FullBlockDownloader
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
source§impl<T> CheckedConversion for T
impl<T> CheckedConversion for T
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T, Outer> IsWrappedBy<Outer> for Twhere
Outer: AsRef<T> + AsMut<T> + From<T>,
T: From<Outer>,
impl<T, Outer> IsWrappedBy<Outer> for Twhere Outer: AsRef<T> + AsMut<T> + From<T>, T: From<Outer>,
§impl<T> Pointable for T
impl<T> Pointable for T
source§impl<T> SaturatedConversion for T
impl<T> SaturatedConversion for T
source§fn saturated_from<T>(t: T) -> Selfwhere
Self: UniqueSaturatedFrom<T>,
fn saturated_from<T>(t: T) -> Selfwhere Self: UniqueSaturatedFrom<T>,
source§fn saturated_into<T>(self) -> Twhere
Self: UniqueSaturatedInto<T>,
fn saturated_into<T>(self) -> Twhere Self: UniqueSaturatedInto<T>,
Consume self to return an equivalent value of
T
. Read moresource§impl<S, T> UncheckedInto<T> for Swhere
T: UncheckedFrom<S>,
impl<S, T> UncheckedInto<T> for Swhere T: UncheckedFrom<S>,
source§fn unchecked_into(self) -> T
fn unchecked_into(self) -> T
The counterpart to
unchecked_from
.source§impl<T, S> UniqueSaturatedInto<T> for Swhere
T: Bounded,
S: TryInto<T>,
impl<T, S> UniqueSaturatedInto<T> for Swhere T: Bounded, S: TryInto<T>,
source§fn unique_saturated_into(self) -> T
fn unique_saturated_into(self) -> T
Consume self to return an equivalent value of
T
.