Skip to main content

HostWasmTag

Trait HostWasmTag 

Source
pub trait HostWasmTag: Send {
    // Required methods
    fn params(
        &mut self,
        self_: Resource<WasmTag>,
        d: Resource<Debuggee>,
    ) -> impl Future<Output = Result<Vec<WasmType>, Error>> + Send;
    fn unique_id(
        &mut self,
        self_: Resource<WasmTag>,
    ) -> impl Future<Output = Result<u64>> + Send;
    fn clone(
        &mut self,
        self_: Resource<WasmTag>,
    ) -> impl Future<Output = Result<Resource<WasmTag>>> + Send;
    fn make(
        &mut self,
        d: Resource<Debuggee>,
        params: Vec<WasmType>,
    ) -> impl Future<Output = Result<Resource<WasmTag>>> + Send;
    fn drop(
        &mut self,
        rep: Resource<WasmTag>,
    ) -> impl Future<Output = Result<()>> + Send;
}

Required Methods§

Source

fn params( &mut self, self_: Resource<WasmTag>, d: Resource<Debuggee>, ) -> impl Future<Output = Result<Vec<WasmType>, Error>> + Send

Get the parameter types.

Source

fn unique_id( &mut self, self_: Resource<WasmTag>, ) -> impl Future<Output = Result<u64>> + Send

Get the unique ID of this tag to allow equality and hashing.

Source

fn clone( &mut self, self_: Resource<WasmTag>, ) -> impl Future<Output = Result<Resource<WasmTag>>> + Send

Clone this handle.

Source

fn make( &mut self, d: Resource<Debuggee>, params: Vec<WasmType>, ) -> impl Future<Output = Result<Resource<WasmTag>>> + Send

Allocate a new tag.

Source

fn drop( &mut self, rep: Resource<WasmTag>, ) -> impl Future<Output = Result<()>> + Send

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.

Implementations on Foreign Types§

Source§

impl HostWasmTag for ResourceTable

Source§

async fn params( &mut self, self_: Resource<Tag>, d: Resource<Debuggee>, ) -> Result<Vec<WasmType>>

Source§

async fn unique_id(&mut self, self_: Resource<Tag>) -> Result<u64>

Source§

async fn clone(&mut self, self_: Resource<Tag>) -> Result<Resource<Tag>>

Source§

async fn make( &mut self, d: Resource<Debuggee>, params: Vec<WasmType>, ) -> Result<Resource<Tag>>

Source§

async fn drop(&mut self, rep: Resource<Tag>) -> Result<()>

Source§

impl<_T: HostWasmTag + ?Sized + Send> HostWasmTag for &mut _T

Source§

fn params( &mut self, self_: Resource<WasmTag>, d: Resource<Debuggee>, ) -> impl Future<Output = Result<Vec<WasmType>, Error>> + Send

Get the parameter types.

Source§

fn unique_id( &mut self, self_: Resource<WasmTag>, ) -> impl Future<Output = Result<u64>> + Send

Get the unique ID of this tag to allow equality and hashing.

Source§

fn clone( &mut self, self_: Resource<WasmTag>, ) -> impl Future<Output = Result<Resource<WasmTag>>> + Send

Clone this handle.

Source§

fn make( &mut self, d: Resource<Debuggee>, params: Vec<WasmType>, ) -> impl Future<Output = Result<Resource<WasmTag>>> + Send

Allocate a new tag.

Source§

async fn drop(&mut self, rep: Resource<WasmTag>) -> Result<()>

Implementors§