Trait BulkExecutor

Source
pub trait BulkExecutor: Sized {
    type Error: From<Error> + From<ApiError> + Send;

    // Required method
    fn execute<R>(
        self,
        requests: impl IntoIterator<Item = R>,
    ) -> impl Stream<Item = (R::Discriminant, Result<ApiResponse, Self::Error>)> + Unpin
       where R: IntoRequest;

    // Provided method
    fn fetch_many<R>(
        self,
        requests: impl IntoIterator<Item = R>,
    ) -> impl Stream<Item = (R::Discriminant, Result<R::Response, Self::Error>)> + Unpin
       where R: IntoRequest { ... }
}
Expand description

Trait that is used for the execution of bulk requests.

Required Associated Types§

Required Methods§

Source

fn execute<R>( self, requests: impl IntoIterator<Item = R>, ) -> impl Stream<Item = (R::Discriminant, Result<ApiResponse, Self::Error>)> + Unpin
where R: IntoRequest,

Generate response stream from a set of api requests.

Provided Methods§

Source

fn fetch_many<R>( self, requests: impl IntoIterator<Item = R>, ) -> impl Stream<Item = (R::Discriminant, Result<R::Response, Self::Error>)> + Unpin
where R: IntoRequest,

Generate a stream of deserialised responsed based on a set of api requests.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§