scrappy_actor is a rust actors framework
Actors are
objects which encapsulate state and behavior, they communicate
exclusively by exchanging messages. scrappy_actor actors are implemented
on top of Tokio. Multiple actors can run in
same thread. Actors can run in multiple threads using the
Arbiter
API. Actors exchange typed
messages.
Documentation
- User Guide
- Chat on gitter
- GitHub repository
- Cargo package
- Minimum supported Rust version: 1.39 or later
Features
- Async/Sync actors.
- Actor communication in a local/thread context.
- Using Futures for asynchronous message handling.
- HTTP1/HTTP2 support (scrappy_actor-web)
- Actor supervision.
- Typed messages (No
Any
type). Generic messages are allowed.
Package feature
resolver
- enables dns resolver actor,scrappy_actor::actors::resolver
Tokio runtime
At the moment scrappy_actor uses
current_thread
runtime.
While it provides minimum overhead, it has its own limits:
- You cannot use tokio's async file I/O, as it relies on blocking calls that are not available
in
current_thread
Stdin
,Stderr
andStdout
fromtokio::io
are the same as file I/O in that regard and cannot be used in asynchronous manner in scrappy_actor.