#actor #wascc #wasm-module #wapc #api-bindings

wascc-actor

SDK for developing WebAssembly Actor modules for hosting in waSCC

14 releases (6 breaking)

0.7.4 Sep 9, 2020
0.7.2 May 28, 2020
0.7.1 Apr 14, 2020
0.5.0 Mar 27, 2020
0.1.0 Dec 4, 2019

#989 in WebAssembly


Used in 3 crates

Apache-2.0

42KB
951 lines

crates.io  Rust  license  documentation

WebAssembly Secure Capabilities Connector - Actor SDK

The waSCC Actor SDK is used by Rust developers building cloud-native workloads for the wasm32-unknown-unknown target. Using waSCC to host your WebAssembly module frees you from the burden of manually implementing traditional non-functional requirements and boilerplate that typically bogs down development time. waSCC lets you focus solely on writing the business logic in a portable, secure wasm module that can run anywhere there's a waSCC host.

For more documentation, tutorials, and examples, please check out the wascc website.

Example

extern crate wascc_actor as actor;

use actor::prelude::*;

actor_handlers!{ codec::http::OP_HANDLE_REQUEST => hello_world, 
                 codec::core::OP_HEALTH_REQUEST => health }

fn hello_world(_req: codec::http::Request) -> ReceiveResult {

    // Utilize capabilities here
    // ...
    
    Ok(vec![])
}

fn health(_req: codec::core::HealthRequest) -> ReceiveResult { 
    Ok(vec![])
}

Debug output vs. using the wascc:logging capability

If you want more functionality beyond the simple println call, then you can sign your modules with the wascc:logging capability and you'll be able to use the idiomatic Rust log macros like debug!, warn!, trace!, etc.

Dependencies

~1.2–2.2MB
~46K SLoC