Crate wasmcloud_actor_eventstreams[][src]

Event Streams wasmCloud Actor Interface

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.

Example:

extern crate wasmcloud_actor_eventstreams as streams;
// extern crate actor_core as actorcore;
use wapc_guest::HandlerResult;
use streams::StreamQuery;
use std::collections::HashMap;

#[no_mangle]
pub fn wapc_init() {
    streams::Handlers::register_deliver_event(deliver_event);
//     actorcore::Handlers::register_health_request(health);
}

fn deliver_event(event: streams::Event) -> HandlerResult<bool> {
   // process event, query streams, or send new events...
   let _evts_so_far = streams::default()
      .query_stream(StreamQuery{
          stream_id: event.stream_id.to_string(),
          range: None,
          count: 0                   
   });
   let _eid = streams::default().write_event("hello_streams".to_string(),
         HashMap::new());
   Ok(true)
}

Structs

Event
StreamQuery
TimeRange
WriteEventArgs

Functions

deserialize

The standard function for de-serializing codec structs from a format suitable for message exchange between actor and host. Use of any other function to deserialize could result in breaking incompatibilities.

serialize

The standard function for serializing codec structs into a format that can be used for message exchange between actor and host. Use of any other function to serialize could result in breaking incompatibilities.