Crates.io | wasmcloud-actor-eventstreams |
lib.rs | wasmcloud-actor-eventstreams |
version | 0.2.1 |
source | src |
created_at | 2021-02-10 15:58:03.849533 |
updated_at | 2021-04-16 15:54:08.511995 |
description | Interface to the event streams contract for use by wasmCloud Actors |
homepage | |
repository | |
max_upload_size | |
id | 353263 |
size | 11,305 |
This crate provides an abstraction over the wasmcloud:eventstreams
contract. This allows
actors to write immutable events to a stream, receive events from a stream,
and query events from a stream.
#[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())
}