Skip to content
This repository has been archived by the owner on Dec 3, 2020. It is now read-only.

wasmCloud/wascc-actor

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

crates.io  Rust  license  documentation

DEPRECATED

This crate is no longer used as of 0.15.0. For actors targeting the 0.15.0 wasmCloud host, you will want to use waPC-generated types and wrappers that can be found in the actor-interfaces repository.

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.