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
Implementors§
source§impl ProcessorExternalities for Ext
impl ProcessorExternalities for Ext
Empty implementation for non-substrate (and non-lazy-pages) using