Skip to main content

FoundryJournal

Trait FoundryJournal 

pub trait FoundryJournal: JournalExt {
    // Required methods
    fn db_journal_inner_mut(
        &mut self,
    ) -> (&mut Self::Database, &mut JournalInner<JournalEntry>);
    fn journal_inner(&self) -> &JournalInner<JournalEntry>;

    // Provided methods
    fn capture_reserve_balance(&self) -> ReserveBalanceTracker { ... }
    fn restore_reserve_balance(&mut self, _tracker: ReserveBalanceTracker) { ... }
    fn preserves_reserve_balance(&self) -> bool { ... }
    fn set_preserve_reserve_balance(&mut self, _preserve: bool) { ... }
}
Expand description

Foundry extension for Journal type

Required Methods§

fn db_journal_inner_mut( &mut self, ) -> (&mut Self::Database, &mut JournalInner<JournalEntry>)

Mutable access to the database and journal inner.

fn journal_inner(&self) -> &JournalInner<JournalEntry>

Reference to the journal inner.

Provided Methods§

fn capture_reserve_balance(&self) -> ReserveBalanceTracker

Available on crate feature monad only.

Captures Monad’s reserve-balance tracker for the active transaction.

fn restore_reserve_balance(&mut self, _tracker: ReserveBalanceTracker)

Available on crate feature monad only.

Restores Monad’s reserve-balance tracker for the active transaction.

fn preserves_reserve_balance(&self) -> bool

Available on crate feature monad only.

Whether transaction boundaries currently preserve the reserve-balance tracker, e.g. for an isolated call that models an inner call of the enclosing transaction rather than a new one.

fn set_preserve_reserve_balance(&mut self, _preserve: bool)

Available on crate feature monad only.

Sets whether transaction boundaries preserve the reserve-balance tracker.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementations on Foreign Types§

§

impl<DB> FoundryJournal for MonadJournal<DB>
where DB: Database,

Available on crate feature monad only.
§

fn db_journal_inner_mut(&mut self) -> (&mut DB, &mut JournalInner<JournalEntry>)

§

fn journal_inner(&self) -> &JournalInner<JournalEntry>

§

fn capture_reserve_balance(&self) -> ReserveBalanceTracker

§

fn restore_reserve_balance(&mut self, tracker: ReserveBalanceTracker)

§

fn preserves_reserve_balance(&self) -> bool

§

fn set_preserve_reserve_balance(&mut self, preserve: bool)

Implementors§

§

impl<DB> FoundryJournal for Journal<DB>
where DB: Database,