#events #actor #wasmcloud #event-stream #api-bindings

wasmcloud-actor-eventstreams

为wasmCloud Actor提供事件流合约接口

4个版本

0.2.1 2021年4月16日
0.2.0 2021年3月10日
0.1.1 2021年2月17日
0.1.0 2021年2月10日

#1602 in WebAssembly


wasmcloud-streams-redis中使用

Apache-2.0

11KB
152

crates.io Rust license documentation

wasmCloud事件流Actor接口

此crate提供对wasmcloud:eventstreams合约的抽象。这允许actor将不可变事件写入流、从流中接收事件以及从流中查询事件。

示例

#[macro_use]
extern crate wasmcloud_actor_core as actor;
extern crate wasmcloud_actor_eventstreams as streams;
extern crate wasmcloud_actor_http_server as http;

use wapc_guest::HandlerResult;
use streams::*;
use std::collections::HashMap;

#[actor::init]
fn init() {
   http::Handlers::register_handle_request(handle_request);
}

fn handle_request(_req: http::Request) -> HandlerResult<http::Response> {
   // process event, query streams, or send new events...
   let _evts_so_far = streams::default()
      .query_stream(StreamQuery{
          stream_id: "hello_stream".to_string(),
          range: None,
          count: 0                   
   });
   let ack = streams::default().write_event("hello_stream".to_string(),
         HashMap::new())?;
   Ok(http::Response::ok())
}

依赖项

~1–2MB
~41K SLoC