Skip to main content

InvocationContext

Struct InvocationContext 

Source
pub struct InvocationContext {
    pub return_address: NativePointer,
    pub context: CpuContext,
    pub thread_id: u32,
    pub depth: u32,
    /* private fields */
}
Expand description

Per-invocation object that contains useful properties about the program at the point of interception.

This is equivalent to the this object accessible in the Interceptor callback in the JavaScript API.

The get and set methods can be used to store arbitrary Rust objects that will be accessible at any point during the invocation. For example, this could be used to store values during on_enter that can later be retrieved during on_leave.

Fields§

§return_address: NativePointer

Return address of the intercepted function.

§context: CpuContext

Current CPU context.

§thread_id: u32

OS thread ID.

§depth: u32

Call depth relative to other invocations.

Implementations§

Source§

impl InvocationContext

Source

pub fn get<T>(&self, prop: &str) -> T
where T: for<'a> Deserialize<'a>,

Get the value stored with the prop key.

Source

pub fn set<T>(&self, prop: &str, val: &T)
where T: Serialize + ?Sized,

Stores val within the context with the prop key. val can be any serializable Rust object.

Trait Implementations§

Source§

impl Debug for InvocationContext

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl FromWasmAbi for InvocationContext

Source§

type Abi = u32

The Wasm ABI type that this converts from when coming back out from the ABI boundary.
Source§

unsafe fn from_abi(js: u32) -> InvocationContext

Recover a Self from Self::Abi. Read more
Source§

impl WasmDescribe for InvocationContext

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<S, T> Upcast<T> for S
where T: UpcastFrom<S> + ?Sized, S: ?Sized,

Source§

fn upcast(&self) -> &T
where Self: ErasableGeneric, T: Sized + ErasableGeneric<Repr = Self::Repr>,

Perform a zero-cost type-safe upcast to a wider ref type within the Wasm bindgen generics type system. Read more
Source§

fn upcast_into(self) -> T
where Self: Sized + ErasableGeneric, T: Sized + ErasableGeneric<Repr = Self::Repr>,

Perform a zero-cost type-safe upcast to a wider type within the Wasm bindgen generics type system. Read more