reth_provider

Trait DatabaseProviderFactory

pub trait DatabaseProviderFactory: Send + Sync {
    type DB: Database;
    type Provider: DBProvider<Tx = <Self::DB as Database>::TX>;
    type ProviderRW: DBProvider<Tx = <Self::DB as Database>::TXMut>;

    // Required methods
    fn database_provider_ro(&self) -> Result<Self::Provider, ProviderError>;
    fn database_provider_rw(&self) -> Result<Self::ProviderRW, ProviderError>;
}
Expand description

Database provider factory.

Required Associated Types§

type DB: Database

Database this factory produces providers for.

type Provider: DBProvider<Tx = <Self::DB as Database>::TX>

Provider type returned by the factory.

type ProviderRW: DBProvider<Tx = <Self::DB as Database>::TXMut>

Read-write provider type returned by the factory.

Required Methods§

fn database_provider_ro(&self) -> Result<Self::Provider, ProviderError>

Create new read-only database provider.

fn database_provider_rw(&self) -> Result<Self::ProviderRW, ProviderError>

Create new read-write database provider.

Implementations on Foreign Types§

§

impl<'a, T> DatabaseProviderFactory for &'a T

§

impl<T> DatabaseProviderFactory for Arc<T>

Implementors§

Source§

impl DatabaseProviderFactory for MockEthProvider

Available on crate feature test-utils only.
Source§

type DB = DatabaseMock

Source§

type Provider = DatabaseProvider<TxMock, MockNode>

Source§

type ProviderRW = DatabaseProvider<TxMock, MockNode>

Source§

impl<N: ProviderNodeTypes> DatabaseProviderFactory for BlockchainProvider2<N>

Source§

impl<N: ProviderNodeTypes> DatabaseProviderFactory for BlockchainProvider<N>

Source§

impl<N: ProviderNodeTypes> DatabaseProviderFactory for ProviderFactory<N>

Source§

type DB = <N as NodeTypesWithDB>::DB

Source§

type Provider = DatabaseProvider<<<N as NodeTypesWithDB>::DB as Database>::TX, N>

Source§

type ProviderRW = DatabaseProvider<<<N as NodeTypesWithDB>::DB as Database>::TXMut, N>