wapc-guest 0.3.1

Guest SDK for building waPC-compliant WebAssembly Modules
Documentation

crates.io  travis  license

waPC Guest SDK

The waPC Guest SDK is used by Rust developers building workloads for the wasm32-unknown-unknown target that will conform to the waPC (WebAssembly Procedure Calls) specification.

This crate is used by waSCC as a foundation for its secure, dynamic binding of cloud capabilities on top of the waPC spec.

Example

extern crate wapc_guest as guest;

use guest::prelude::*;

wapc_handler!(handle_wapc);

pub fn handle_wapc(operation: &str, msg: &[u8]) -> CallResult {
    match operation {
        "sample:Guest!Hello" => hello_world(msg),
        _ => Err("bad dispatch".into()),
    }     
}

fn hello_world(
   _msg: &[u8]) -> CallResult {
   let _res = host_call("myBinding", "sample:Host", "Call", b"hello")?;
    Ok(vec![])
}