ChainReadAccountOperations

Trait ChainReadAccountOperations 

Source
pub trait ChainReadAccountOperations {
    type Error: Error + Send + Sync + 'static;

    // Required methods
    fn stream_accounts<'a, 'async_trait>(
        &'a self,
        selector: AccountSelector,
    ) -> Pin<Box<dyn Future<Output = Result<Pin<Box<dyn Stream<Item = AccountEntry> + Send + 'a>>, Self::Error>> + Send + 'async_trait>>
       where 'a: 'async_trait,
             Self: 'async_trait;
    fn count_accounts<'life0, 'async_trait>(
        &'life0 self,
        selector: AccountSelector,
    ) -> Pin<Box<dyn Future<Output = Result<usize, Self::Error>> + Send + 'async_trait>>
       where 'life0: 'async_trait,
             Self: 'async_trait;
}
Expand description

Chain operations that read on-chain node accounts.

Required Associated Types§

Source

type Error: Error + Send + Sync + 'static

Required Methods§

Source

fn stream_accounts<'a, 'async_trait>( &'a self, selector: AccountSelector, ) -> Pin<Box<dyn Future<Output = Result<Pin<Box<dyn Stream<Item = AccountEntry> + Send + 'a>>, Self::Error>> + Send + 'async_trait>>
where 'a: 'async_trait, Self: 'async_trait,

Returns on-chain node accounts with the given AccountSelector.

Source

fn count_accounts<'life0, 'async_trait>( &'life0 self, selector: AccountSelector, ) -> Pin<Box<dyn Future<Output = Result<usize, Self::Error>> + Send + 'async_trait>>
where 'life0: 'async_trait, Self: 'async_trait,

Counts the accounts with the given AccountSelector.

This is potentially done more effectively than counting more elements of the stream returned by ChainReadAccountOperations::stream_accounts.

Implementations on Foreign Types§

Source§

impl<'b, T> ChainReadAccountOperations for &'b T

Source§

type Error = <T as ChainReadAccountOperations>::Error

Source§

fn stream_accounts<'a, 'async_trait>( &'a self, selector: AccountSelector, ) -> Pin<Box<dyn Future<Output = Result<Pin<Box<dyn Stream<Item = AccountEntry> + Send + 'a>>, <&'b T as ChainReadAccountOperations>::Error>> + Send + 'async_trait>>
where 'a: 'async_trait, &'b T: 'async_trait,

Source§

fn count_accounts<'life0, 'async_trait>( &'life0 self, selector: AccountSelector, ) -> Pin<Box<dyn Future<Output = Result<usize, <&'b T as ChainReadAccountOperations>::Error>> + Send + 'async_trait>>
where 'life0: 'async_trait, &'b T: 'async_trait,

Source§

impl<T> ChainReadAccountOperations for Box<T>

Source§

type Error = <T as ChainReadAccountOperations>::Error

Source§

fn stream_accounts<'a, 'async_trait>( &'a self, selector: AccountSelector, ) -> Pin<Box<dyn Future<Output = Result<Pin<Box<dyn Stream<Item = AccountEntry> + Send + 'a>>, <Box<T> as ChainReadAccountOperations>::Error>> + Send + 'async_trait>>
where 'a: 'async_trait, Box<T>: 'async_trait,

Source§

fn count_accounts<'life0, 'async_trait>( &'life0 self, selector: AccountSelector, ) -> Pin<Box<dyn Future<Output = Result<usize, <Box<T> as ChainReadAccountOperations>::Error>> + Send + 'async_trait>>
where 'life0: 'async_trait, Box<T>: 'async_trait,

Source§

impl<T> ChainReadAccountOperations for Arc<T>

Source§

type Error = <T as ChainReadAccountOperations>::Error

Source§

fn stream_accounts<'a, 'async_trait>( &'a self, selector: AccountSelector, ) -> Pin<Box<dyn Future<Output = Result<Pin<Box<dyn Stream<Item = AccountEntry> + Send + 'a>>, <Arc<T> as ChainReadAccountOperations>::Error>> + Send + 'async_trait>>
where 'a: 'async_trait, Arc<T>: 'async_trait,

Source§

fn count_accounts<'life0, 'async_trait>( &'life0 self, selector: AccountSelector, ) -> Pin<Box<dyn Future<Output = Result<usize, <Arc<T> as ChainReadAccountOperations>::Error>> + Send + 'async_trait>>
where 'life0: 'async_trait, Arc<T>: 'async_trait,

Implementors§