#wasm-plugin #plugin

wasm_plugin_host

一种易于托管基于WASM插件的低级别工具

8个版本

0.1.7 2021年5月7日
0.1.6 2021年5月1日
0.1.5 2021年4月23日
0.1.2 2021年3月4日

#1138 in WebAssembly

27 每月下载量

MIT 许可证

31KB
639

Crates.io Docs.rs license

一种易于托管基于WASM插件的低级别工具。

wasm_plugin的目标是在尽可能简单和符合习惯的同时,对如何实际使用插件保持中立。

插件应使用wasm_plugin_guest编写

加载插件就像从磁盘读取.wasm文件一样简单。

let mut plugin = WasmPluginBuilder::from_file("path/to/plugin.wasm")?.finish()?;

调用插件导出的函数有两种形式。要么该函数不接受任何参数并返回一个单 serde 可反序列化的值

let response: ResultType = plugin.call_function("function_name")?;

要么它接受一个可序列化的参数并返回一个单结果

let message = Message::default();
let response: ResultType = plugin.call_function_with_argument("function_name", &message)?;

API稳定性

我目前不保证任何稳定性,预期所有版本都将包含破坏性更改。

依赖关系

~10MB
~200K SLoC