TrieCursorFactory

Trait TrieCursorFactory 

Source
pub trait TrieCursorFactory {
    type AccountTrieCursor<'a>: TrieCursor
       where Self: 'a;
    type StorageTrieCursor<'a>: TrieCursor
       where Self: 'a;

    // Required methods
    fn account_trie_cursor(
        &self,
    ) -> Result<Self::AccountTrieCursor<'_>, DatabaseError>;
    fn storage_trie_cursor(
        &self,
        hashed_address: FixedBytes<32>,
    ) -> Result<Self::StorageTrieCursor<'_>, DatabaseError>;
}
Available on crate feature trie only.
Expand description

Factory for creating trie cursors.

Required Associated Types§

Source

type AccountTrieCursor<'a>: TrieCursor where Self: 'a

The account trie cursor type.

Source

type StorageTrieCursor<'a>: TrieCursor where Self: 'a

The storage trie cursor type.

Required Methods§

Source

fn account_trie_cursor( &self, ) -> Result<Self::AccountTrieCursor<'_>, DatabaseError>

Create an account trie cursor.

Source

fn storage_trie_cursor( &self, hashed_address: FixedBytes<32>, ) -> Result<Self::StorageTrieCursor<'_>, DatabaseError>

Create a storage tries cursor.

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.

Implementations on Foreign Types§

Source§

impl<'b, T> TrieCursorFactory for &'b T
where T: 'b + TrieCursorFactory + ?Sized,

Implementors§

Source§

impl TrieCursorFactory for NoopTrieCursorFactory

Source§

impl<'overlay, CF, T> TrieCursorFactory for InMemoryTrieCursorFactory<CF, &'overlay T>
where CF: TrieCursorFactory + 'overlay, T: AsRef<TrieUpdatesSorted>,

Source§

impl<Provider> TrieCursorFactory for OverlayStateProvider<Provider>
where Provider: DBProvider,

Source§

impl<TX> TrieCursorFactory for DatabaseTrieCursorFactory<&TX>
where TX: DbTx,