pub trait ProcessorExternalities {
const LAZY_PAGES_ENABLED: bool;
// Required methods
fn new(context: ProcessorContext) -> Self;
fn lazy_pages_init_for_program(
mem: &mut impl Memory,
prog_id: ProgramId,
stack_end: Option<WasmPage>,
globals_config: GlobalsAccessConfig,
lazy_pages_weights: LazyPagesWeights,
);
fn lazy_pages_post_execution_actions(mem: &mut impl Memory);
fn lazy_pages_status() -> Status;
}
Expand description
Trait to which ext must have to work in processor wasm executor. Currently used only for lazy-pages support.
Required Associated Constants§
Sourceconst LAZY_PAGES_ENABLED: bool
const LAZY_PAGES_ENABLED: bool
Whether this extension works with lazy pages.
Required Methods§
Sourcefn new(context: ProcessorContext) -> Self
fn new(context: ProcessorContext) -> Self
Create new
Sourcefn lazy_pages_init_for_program(
mem: &mut impl Memory,
prog_id: ProgramId,
stack_end: Option<WasmPage>,
globals_config: GlobalsAccessConfig,
lazy_pages_weights: LazyPagesWeights,
)
fn lazy_pages_init_for_program( mem: &mut impl Memory, prog_id: ProgramId, stack_end: Option<WasmPage>, globals_config: GlobalsAccessConfig, lazy_pages_weights: LazyPagesWeights, )
Protect and save storage keys for pages which has no data
Sourcefn lazy_pages_post_execution_actions(mem: &mut impl Memory)
fn lazy_pages_post_execution_actions(mem: &mut impl Memory)
Lazy pages contract post execution actions
Sourcefn lazy_pages_status() -> Status
fn lazy_pages_status() -> Status
Returns lazy pages status
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§
Source§impl ProcessorExternalities for Ext
Empty implementation for non-substrate (and non-lazy-pages) using
impl ProcessorExternalities for Ext
Empty implementation for non-substrate (and non-lazy-pages) using