Trait wasmer_wasix::journal::WritableJournal

pub trait WritableJournal: Debug {
    // Required methods
    fn write<'a>(
        &'a self,
        entry: JournalEntry<'a>,
    ) -> Result<LogWriteResult, Error>;
    fn flush(&self) -> Result<(), Error>;

    // Provided methods
    fn commit(&self) -> Result<usize, Error> { ... }
    fn rollback(&self) -> Result<usize, Error> { ... }
}
Expand description

The snapshot capturer will take a series of objects that represents the state of a WASM process at a point in time and saves it so that it can be restored. It also allows for the restoration of that state at a later moment

Required Methods§

fn write<'a>(&'a self, entry: JournalEntry<'a>) -> Result<LogWriteResult, Error>

Takes in a stream of snapshot log entries and saves them so that they may be restored at a later moment

fn flush(&self) -> Result<(), Error>

Flushes the data to disk or network

Provided Methods§

fn commit(&self) -> Result<usize, Error>

Commits the transaction Returns the number of events committed

fn rollback(&self) -> Result<usize, Error>

Rolls back the transaction and aborts its changes Returns the number of events rolled back

Implementations on Foreign Types§

§

impl<W> WritableJournal for Box<W>
where W: WritableJournal + ?Sized,

§

fn write<'a>(&'a self, entry: JournalEntry<'a>) -> Result<LogWriteResult, Error>

§

fn flush(&self) -> Result<(), Error>

§

fn commit(&self) -> Result<usize, Error>

§

fn rollback(&self) -> Result<usize, Error>

Implementors§

§

impl WritableJournal for Arc<dyn Journal + Send + Sync>

§

impl WritableJournal for BufferedJournal

§

impl WritableJournal for BufferedJournalTx

§

impl WritableJournal for CompactingJournal

§

impl WritableJournal for CompactingJournalTx

§

impl WritableJournal for CompactingLogFileJournal

§

impl WritableJournal for CompactingLogFileJournalTx

§

impl WritableJournal for CountingJournal

§

impl WritableJournal for LogFileJournal

§

impl WritableJournal for LogFileJournalTx

§

impl WritableJournal for MemFileJournal

§

impl WritableJournal for NullJournal

§

impl WritableJournal for PipeJournal

§

impl WritableJournal for PipeJournalTx

§

impl WritableJournal for PrintingJournal

§

impl WritableJournal for UnsupportedJournal

§

impl<W> WritableJournal for Arc<W>
where W: WritableJournal,

§

impl<W> WritableJournal for AutoConsistentJournalTx<W>
where W: WritableJournal,

§

impl<W> WritableJournal for CompactingTransactionJournalTx<W>
where W: WritableJournal,

§

impl<W> WritableJournal for FilteredJournalTx<W>
where W: WritableJournal,

§

impl<W> WritableJournal for TransactionJournalTx<W>
where W: WritableJournal,

§

impl<W, R> WritableJournal for AutoConsistentJournal<W, R>

§

impl<W, R> WritableJournal for CompactingTransactionJournal<W, R>

§

impl<W, R> WritableJournal for FilteredJournal<W, R>

§

impl<W, R> WritableJournal for RecombinedJournal<W, R>

§

impl<W, R> WritableJournal for TransactionJournal<W, R>