Struct miden_processor::DefaultHost
source · pub struct DefaultHost<A> { /* private fields */ }Expand description
A default Host implementation that provides the essential functionality required by the VM.
Implementations§
source§impl<A> DefaultHost<A>where
A: AdviceProvider,
impl<A> DefaultHost<A>where
A: AdviceProvider,
pub fn new(adv_provider: A) -> Self
pub fn load_mast_forest(&mut self, mast_forest: MastForest)
pub fn into_inner(self) -> A
Trait Implementations§
source§impl<A: Clone> Clone for DefaultHost<A>
impl<A: Clone> Clone for DefaultHost<A>
source§impl Default for DefaultHost<MemAdviceProvider>
impl Default for DefaultHost<MemAdviceProvider>
source§impl<A> Host for DefaultHost<A>where
A: AdviceProvider,
impl<A> Host for DefaultHost<A>where
A: AdviceProvider,
source§fn get_advice<P: ProcessState>(
&mut self,
process: &P,
extractor: AdviceExtractor,
) -> Result<HostResponse, ExecutionError>
fn get_advice<P: ProcessState>( &mut self, process: &P, extractor: AdviceExtractor, ) -> Result<HostResponse, ExecutionError>
Returns the requested advice, specified by AdviceExtractor, from the host to the VM.
source§fn set_advice<P: ProcessState>(
&mut self,
process: &P,
injector: AdviceInjector,
) -> Result<HostResponse, ExecutionError>
fn set_advice<P: ProcessState>( &mut self, process: &P, injector: AdviceInjector, ) -> Result<HostResponse, ExecutionError>
Sets the requested advice, specified by AdviceInjector, on the host.
source§fn get_mast_forest(&self, node_digest: &RpoDigest) -> Option<Arc<MastForest>>
fn get_mast_forest(&self, node_digest: &RpoDigest) -> Option<Arc<MastForest>>
Returns MAST forest corresponding to the specified digest, or None if the MAST forest for
this digest could not be found in this Host.
source§fn on_event<S: ProcessState>(
&mut self,
_process: &S,
_event_id: u32,
) -> Result<HostResponse, ExecutionError>
fn on_event<S: ProcessState>( &mut self, _process: &S, _event_id: u32, ) -> Result<HostResponse, ExecutionError>
Handles the event emitted from the VM.
source§fn on_debug<S: ProcessState>(
&mut self,
_process: &S,
_options: &DebugOptions,
) -> Result<HostResponse, ExecutionError>
fn on_debug<S: ProcessState>( &mut self, _process: &S, _options: &DebugOptions, ) -> Result<HostResponse, ExecutionError>
Handles the debug request from the VM.
source§fn on_trace<S: ProcessState>(
&mut self,
_process: &S,
_trace_id: u32,
) -> Result<HostResponse, ExecutionError>
fn on_trace<S: ProcessState>( &mut self, _process: &S, _trace_id: u32, ) -> Result<HostResponse, ExecutionError>
Handles the trace emitted from the VM.
source§fn on_assert_failed<S: ProcessState>(
&mut self,
process: &S,
err_code: u32,
) -> ExecutionError
fn on_assert_failed<S: ProcessState>( &mut self, process: &S, err_code: u32, ) -> ExecutionError
Handles the failure of the assertion instruction.
source§fn pop_adv_stack<S: ProcessState>(
&mut self,
process: &S,
) -> Result<Felt, ExecutionError>
fn pop_adv_stack<S: ProcessState>( &mut self, process: &S, ) -> Result<Felt, ExecutionError>
Pops an element from the advice stack and returns it. Read more
source§fn pop_adv_stack_word<S: ProcessState>(
&mut self,
process: &S,
) -> Result<Word, ExecutionError>
fn pop_adv_stack_word<S: ProcessState>( &mut self, process: &S, ) -> Result<Word, ExecutionError>
Pops a word (4 elements) from the advice stack and returns it. Read more
source§fn pop_adv_stack_dword<S: ProcessState>(
&mut self,
process: &S,
) -> Result<[Word; 2], ExecutionError>
fn pop_adv_stack_dword<S: ProcessState>( &mut self, process: &S, ) -> Result<[Word; 2], ExecutionError>
Pops a double word (8 elements) from the advice stack and returns them. Read more
source§fn get_adv_merkle_path<S: ProcessState>(
&mut self,
process: &S,
) -> Result<MerklePath, ExecutionError>
fn get_adv_merkle_path<S: ProcessState>( &mut self, process: &S, ) -> Result<MerklePath, ExecutionError>
Returns a path to a node at the specified depth and index in a Merkle tree with the
specified root. Read more
Auto Trait Implementations§
impl<A> Freeze for DefaultHost<A>where
A: Freeze,
impl<A> RefUnwindSafe for DefaultHost<A>where
A: RefUnwindSafe,
impl<A> Send for DefaultHost<A>where
A: Send,
impl<A> Sync for DefaultHost<A>where
A: Sync,
impl<A> Unpin for DefaultHost<A>where
A: Unpin,
impl<A> UnwindSafe for DefaultHost<A>where
A: UnwindSafe,
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit)