revm_handler_interface::frame

Trait Frame

Source
pub trait Frame: Sized {
    type Context;
    type FrameInit;
    type FrameResult;
    type Error;

    // Required methods
    fn init_first(
        context: &mut Self::Context,
        frame_input: Self::FrameInit,
    ) -> Result<FrameOrResultGen<Self, Self::FrameResult>, Self::Error>;
    fn init(
        &self,
        context: &mut Self::Context,
        frame_input: Self::FrameInit,
    ) -> Result<FrameOrResultGen<Self, Self::FrameResult>, Self::Error>;
    fn run(
        &mut self,
        context: &mut Self::Context,
    ) -> Result<FrameOrResultGen<Self::FrameInit, Self::FrameResult>, Self::Error>;
    fn return_result(
        &mut self,
        context: &mut Self::Context,
        result: Self::FrameResult,
    ) -> Result<(), Self::Error>;
}
Expand description

Call frame trait.

Required Associated Types§

Required Methods§

Source

fn init_first( context: &mut Self::Context, frame_input: Self::FrameInit, ) -> Result<FrameOrResultGen<Self, Self::FrameResult>, Self::Error>

Source

fn init( &self, context: &mut Self::Context, frame_input: Self::FrameInit, ) -> Result<FrameOrResultGen<Self, Self::FrameResult>, Self::Error>

Source

fn run( &mut self, context: &mut Self::Context, ) -> Result<FrameOrResultGen<Self::FrameInit, Self::FrameResult>, Self::Error>

Source

fn return_result( &mut self, context: &mut Self::Context, result: Self::FrameResult, ) -> Result<(), Self::Error>

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§