#actor #async #smol #message-passing

appliance

A lightweight framework to build async-friendly components with message-based intercommunications

13 releases

0.2.4 Mar 7, 2021
0.2.3 Mar 6, 2021
0.2.0 Feb 28, 2021
0.1.7 Feb 11, 2021
0.1.4 Jan 31, 2021

#1262 in Asynchronous

Apache-2.0 OR MIT

20KB
264 lines

Appliance

Cargo Documentation minimum rustc 1.49

Overview

Appliance is a lightweight Rust framework for building highly customizable asynchronous components adapted for message-based intercommunications. This project is an attempt to make actix-like approach more flexible by exempting a user from using predefined execution runtimes. With the library you can design any composition logic for async agents avoiding data races and unnecessary locks.

Features

  • Explicit control over agent lifecycle (no global runtime).
  • Equipping agents with customized async executors.
  • Minimal overhead when calling handlers.

Installation

The recommended way to use this library is to add it as a dependency in your Cargo.toml file:

[dependencies]
appliance = "0.2.0"

lib.rs:

A lightweight actor model inspired framework to build customizable components with message-based intercommunications.

Dependencies

~4–13MB
~161K SLoC