3 releases
0.2.2 | Apr 16, 2021 |
---|---|
0.2.1 | Feb 17, 2021 |
0.2.0 | Feb 10, 2021 |
#1633 in WebAssembly
Used in 4 crates
(3 directly)
19KB
398 lines
wasmCloud Key Value Store Actor Interface
This crate provides an interface for actors to use to communicate with a key-value
store capability provider. Actors using this interface must have the wasmcloud:keyvalue
capability
permission.
This crate is one-way, and only supports actors making calls to the host. The capability provider does not deliver messages to actors (e.g. actors cannot subscribe to store change events).
The following is an example usage:
#[macro_use]
extern crate serde_json;
extern crate wasmcloud_actor_http_server as http;
extern crate wasmcloud_actor_keyvalue as kv;
extern crate wasmcloud_actor_core as actor;
use http::{self, Request, Response};
use wascap_guest::HandlerResult;
#[macro_use]
extern crate serde_json;
#[actor::init]
pub fn init() {
http::Handlers::register_handle_request(increment_counter);
}
fn increment_counter(msg: Request) -> HandlerResult<Response> {
let key = msg.path.replace('/', ":");
let resp = kv::default().add(key.to_string(), 1)?;
let result = json!({"counter": resp.value });
Ok(Response::json(result, 200, "OK")?)
}
Dependencies
~1.1–2.2MB
~45K SLoC