#actor #wasmcloud #api-bindings

wasmcloud-actor-messaging

消息传递 wasmCloud Actor 接口

3 个版本

0.1.2 2021 年 4 月 16 日
0.1.1 2021 年 2 月 17 日
0.1.0 2021 年 2 月 10 日

#47#wasmcloud


wasmcloud-nats 中使用

Apache-2.0

11KB
156

crates.io  Rust license  documentation

WasmCloud 消息传递 Actor 接口

此 crate 为 wasmCloud Actor 提供了一个与消息传递能力提供者的接口。使用此接口的 Actor 必须有 wasmcloud:messaging 权声,以便有权处理消息、发布和执行请求-响应操作。它们还必须有一个到消息传递能力提供者的活跃、配置好的绑定。

示例

extern crate wasmcloud_actor_messaging as messaging;
extern crate wasmcloud_actor_core as actor;
extern crate wapc_guest as guest;
use guest::prelude::*;

#[actor::init]
pub fn init() {
    messaging::Handlers::register_handle_message(handle_message);
}

/// Reply to a "ping" message with "pong"
fn handle_message(message: messaging::BrokerMessage) -> HandlerResult<()> {
    if String::from_utf8(message.body)? == "ping".to_string() {
        messaging::default().publish(message.reply_to, "".to_string(), "pong".to_string().into_bytes())?;
    }
    Ok(())
}

依赖项

~0.8–1.5MB
~32K SLoC