Trait ChainStorage

pub trait ChainStorage<Primitives>: Send + Sync
where Primitives: FullNodePrimitives,
{ // Required methods fn reader<TX, Types>( &self, ) -> impl ChainStorageReader<DatabaseProvider<TX, Types>, Primitives> where TX: DbTx + 'static, Types: NodeTypesForProvider<Primitives = Primitives>; fn writer<TX, Types>( &self, ) -> impl ChainStorageWriter<DatabaseProvider<TX, Types>, Primitives> where TX: DbTxMut + DbTx + 'static, Types: NodeTypesForProvider<Primitives = Primitives>; }
Available on crate feature provider only.
Expand description

Trait that provides access to implementations of ChainStorage

Required Methods§

fn reader<TX, Types>( &self, ) -> impl ChainStorageReader<DatabaseProvider<TX, Types>, Primitives>
where TX: DbTx + 'static, Types: NodeTypesForProvider<Primitives = Primitives>,

Provides access to the chain reader.

fn writer<TX, Types>( &self, ) -> impl ChainStorageWriter<DatabaseProvider<TX, Types>, Primitives>
where TX: DbTxMut + DbTx + 'static, Types: NodeTypesForProvider<Primitives = Primitives>,

Provides access to the chain writer.

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§

§

impl<N, T, H> ChainStorage<N> for EthStorage<T, H>
where H: FullBlockHeader, N: FullNodePrimitives<Block = Block<T, H>, BlockHeader = H, BlockBody = BlockBody<T, H>, SignedTx = T>, T: FullSignedTx,