#waxosuit #sdk #wapc #api-bindings #capability-provider

已废弃 waxosuit-guest

由于 wascc-actor crate 的存在而废弃。

2 个版本

0.3.6 2019年12月4日
0.3.5 2019年10月7日
0.3.3 2019年9月25日

#2 in #waxosuit

Apache-2.0

22KB
362

由于支持 wascc-actor 而废弃。


lib.rs:

waxosuit-guest

waxosuit-guest 库为 WebAssembly 模块开发者提供了访问 Waxosuit 主运行时的方式。每个 guest 模块有一个单独的调用处理程序,使用 call_handler! 宏声明。在这个调用处理程序内部,guest 模块应该检查传递的消息的操作,并相应地处理它,返回任何二进制有效载荷作为响应。确保能力提供者能够理解发送的任何消息是 guest 模块的责任。

示例

extern crate waxosuit_guest as guest;

use guest::prelude::*;

call_handler!(handle_call);

pub fn handle_call(ctx: &CapabilitiesContext, operation: &str, msg: &[u8]) -> CallResult {
    match operation {
        http::OP_HANDLE_REQUEST => hello_world(ctx, msg),
        core::OP_HEALTH_REQUEST => Ok(vec![]),
        _ => Err("bad dispatch".into()),
    }     
}

fn hello_world(
   _ctx: &CapabilitiesContext,
   _msg: &[u8]) -> CallResult {
    Ok(vec![])
}

依赖项

~5.5–8.5MB
~165K SLoC