pub struct WasmProcedure { /* private fields */ }Expand description
WASM procedure that loads and executes a .wasm module.
Each WASM module must export:
alloc(size: i32) -> i32— allocatesizebytes, return pointerdealloc(ptr: i32, size: i32)— free memoryprocedure(params_ptr: i32, params_len: i32) -> i32— pointer to output (first 4 bytes at output pointer = output length as LE u32)
Implementations§
Trait Implementations§
Source§impl Procedure for WasmProcedure
impl Procedure for WasmProcedure
fn call( &self, ctx: &ProcedureContext<'_>, _tx: &mut Transaction<'_>, ) -> Result<Columns>
impl Send for WasmProcedure
impl Sync for WasmProcedure
Auto Trait Implementations§
impl Freeze for WasmProcedure
impl RefUnwindSafe for WasmProcedure
impl Unpin for WasmProcedure
impl UnsafeUnpin for WasmProcedure
impl UnwindSafe for WasmProcedure
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> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more