Processor

Struct Processor 

Source
pub struct Processor<'a> { /* private fields */ }
Available on crate feature processor only.
Expand description

WASM module processor encapsulating processing options.

Implementations§

Source§

impl<'a> Processor<'a>

Source

pub fn set_ref_table(&mut self, name: impl Into<Option<&'a str>>) -> &mut Self

Sets the name of the exported externrefs table where refs obtained from the host are placed. If set to None, the table will not be exported from the module.

By default, the table is exported as "externrefs".

Source

pub fn set_drop_fn(&mut self, module: &'a str, name: &'a str) -> &mut Self

Sets a function to notify the host about dropped externrefs. This function will be added as an import with a signature (externref) -> () and will be called immediately before dropping each reference.

By default, there is no notifier hook installed.

Source

pub fn process(&self, module: &mut Module) -> Result<(), Error>

Processes the provided module.

§Errors

Returns an error if a module is malformed. This shouldn’t normally happen and could be caused by another post-processor or a bug in the externref crate / proc macro.

Source

pub fn process_bytes(&self, bytes: &[u8]) -> Result<Vec<u8>, Error>

Processes the provided WASM module bytes. This is a higher-level alternative to Self::process().

§Errors

Returns an error if bytes does not represent a valid WASM module, and in all cases Self::process() returns an error.

Trait Implementations§

Source§

impl<'a> Debug for Processor<'a>

Source§

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

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

impl Default for Processor<'_>

Source§

fn default() -> Self

Returns the “default value” for a type. Read more

Auto Trait Implementations§

§

impl<'a> Freeze for Processor<'a>

§

impl<'a> RefUnwindSafe for Processor<'a>

§

impl<'a> Send for Processor<'a>

§

impl<'a> Sync for Processor<'a>

§

impl<'a> Unpin for Processor<'a>

§

impl<'a> UnwindSafe for Processor<'a>

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> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more