Struct sc_network::config::OnDemand [−][src]
pub struct OnDemand<B: BlockT> { /* fields omitted */ }
Implements the Fetcher
trait of the client. Makes it possible for the light client to perform
network requests for some state.
This implementation stores all the requests in a queue. The network, in parallel, is then responsible for pulling elements out of that queue and fulfilling them.
Implementations
impl<B: BlockT> OnDemand<B> where
B::Header: HeaderT,
[src]
impl<B: BlockT> OnDemand<B> where
B::Header: HeaderT,
[src]pub fn new(checker: Arc<dyn FetchChecker<B>>) -> Self
[src]
Creates new on-demand service.
pub fn checker(&self) -> &Arc<dyn FetchChecker<B>>
[src]
Get checker reference.
Trait Implementations
impl<B> Fetcher<B> for OnDemand<B> where
B: BlockT,
B::Header: HeaderT,
[src]
impl<B> Fetcher<B> for OnDemand<B> where
B: BlockT,
B::Header: HeaderT,
[src]type RemoteHeaderResult = RemoteResponse<B::Header>
Remote header future.
type RemoteReadResult = RemoteResponse<HashMap<Vec<u8>, Option<Vec<u8>>>>
Remote storage read future.
type RemoteCallResult = RemoteResponse<Vec<u8>>
Remote call result future.
type RemoteChangesResult = RemoteResponse<Vec<(NumberFor<B>, u32)>>
Remote changes result future.
type RemoteBodyResult = RemoteResponse<Vec<B::Extrinsic>>
Remote block body result future.
fn remote_header(
&self,
request: RemoteHeaderRequest<B::Header>
) -> Self::RemoteHeaderResult
[src]
&self,
request: RemoteHeaderRequest<B::Header>
) -> Self::RemoteHeaderResult
fn remote_read(
&self,
request: RemoteReadRequest<B::Header>
) -> Self::RemoteReadResult
[src]
&self,
request: RemoteReadRequest<B::Header>
) -> Self::RemoteReadResult
fn remote_read_child(
&self,
request: RemoteReadChildRequest<B::Header>
) -> Self::RemoteReadResult
[src]
&self,
request: RemoteReadChildRequest<B::Header>
) -> Self::RemoteReadResult
fn remote_call(
&self,
request: RemoteCallRequest<B::Header>
) -> Self::RemoteCallResult
[src]
&self,
request: RemoteCallRequest<B::Header>
) -> Self::RemoteCallResult
fn remote_changes(
&self,
request: RemoteChangesRequest<B::Header>
) -> Self::RemoteChangesResult
[src]
&self,
request: RemoteChangesRequest<B::Header>
) -> Self::RemoteChangesResult
fn remote_body(
&self,
request: RemoteBodyRequest<B::Header>
) -> Self::RemoteBodyResult
[src]
&self,
request: RemoteBodyRequest<B::Header>
) -> Self::RemoteBodyResult
Auto Trait Implementations
impl<B> !RefUnwindSafe for OnDemand<B>
impl<B> Send for OnDemand<B>
impl<B> Sync for OnDemand<B>
impl<B> Unpin for OnDemand<B>
impl<B> !UnwindSafe for OnDemand<B>
Blanket Implementations
impl<T> CheckedConversion for T
[src]
impl<T> CheckedConversion for T
[src]pub fn checked_from<T>(t: T) -> Option<Self> where
Self: TryFrom<T>,
[src]
Self: TryFrom<T>,
pub fn checked_into<T>(self) -> Option<T> where
Self: TryInto<T>,
[src]
Self: TryInto<T>,
impl<T> Instrument for T
[src]
impl<T> Instrument for T
[src]pub fn instrument(self, span: Span) -> Instrumented<Self>
[src]
pub fn in_current_span(self) -> Instrumented<Self>
[src]
impl<T> Instrument for T
[src]
impl<T> Instrument for T
[src]pub fn instrument(self, span: Span) -> Instrumented<Self>
[src]
pub fn in_current_span(self) -> Instrumented<Self>
[src]
impl<T, Outer> IsWrappedBy<Outer> for T where
T: From<Outer>,
Outer: AsRef<T> + AsMut<T> + From<T>,
[src]
impl<T, Outer> IsWrappedBy<Outer> for T where
T: From<Outer>,
Outer: AsRef<T> + AsMut<T> + From<T>,
[src]impl<T> SaturatedConversion for T
[src]
impl<T> SaturatedConversion for T
[src]pub fn saturated_from<T>(t: T) -> Self where
Self: UniqueSaturatedFrom<T>,
[src]
Self: UniqueSaturatedFrom<T>,
pub fn saturated_into<T>(self) -> T where
Self: UniqueSaturatedInto<T>,
[src]
Self: UniqueSaturatedInto<T>,
impl<S, T> UncheckedInto<T> for S where
T: UncheckedFrom<S>,
[src]
impl<S, T> UncheckedInto<T> for S where
T: UncheckedFrom<S>,
[src]pub fn unchecked_into(self) -> T
[src]
impl<T, S> UniqueSaturatedInto<T> for S where
T: Bounded,
S: TryInto<T>,
[src]
impl<T, S> UniqueSaturatedInto<T> for S where
T: Bounded,
S: TryInto<T>,
[src]pub fn unique_saturated_into(self) -> T
[src]
impl<T> WithSubscriber for T
[src]
impl<T> WithSubscriber for T
[src]pub fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
[src]
S: Into<Dispatch>,