[][src]Trait libra_vm::VMExecutor

pub trait VMExecutor: Send {
    fn execute_block(
        transactions: Vec<Transaction>,
        state_view: &dyn StateView
    ) -> Result<Vec<TransactionOutput>, VMStatus>; }

This trait describes the VM's execution interface.

Required methods

fn execute_block(
    transactions: Vec<Transaction>,
    state_view: &dyn StateView
) -> Result<Vec<TransactionOutput>, VMStatus>

Executes a block of transactions and returns output for each one of them.

Loading content...

Implementors

impl VMExecutor for LibraVM[src]

fn execute_block(
    transactions: Vec<Transaction>,
    state_view: &dyn StateView
) -> Result<Vec<TransactionOutput>, VMStatus>
[src]

Execute a block of transactions. The output vector will have the exact same length as the input vector. The discarded transactions will be marked as TransactionStatus::Discard and have an empty WriteSet. Also state_view is immutable, and does not have interior mutability. Writes to be applied to the data view are encoded in the write set part of a transaction output.

Loading content...