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 protocol_name(&self) -> &ProtocolName
fn protocol_name(&self) -> &ProtocolName
Protocol name used by block downloader.
Source§fn download_blocks<'life0, 'async_trait>(
&'life0 self,
who: PeerId,
request: BlockRequest<B>,
) -> Pin<Box<dyn Future<Output = Result<Result<(Vec<u8>, ProtocolName), 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>, ProtocolName), 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 Freeze for FullBlockDownloader
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
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§impl<Src, Dest> IntoTuple<Dest> for Srcwhere
Dest: FromTuple<Src>,
impl<Src, Dest> IntoTuple<Dest> for Srcwhere
Dest: FromTuple<Src>,
fn into_tuple(self) -> Dest
Source§impl<T, Outer> IsWrappedBy<Outer> for T
impl<T, Outer> IsWrappedBy<Outer> for T
Source§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 S
impl<T, S> UniqueSaturatedInto<T> for S
Source§fn unique_saturated_into(self) -> T
fn unique_saturated_into(self) -> T
Consume self to return an equivalent value of
T
.