Crates.io | romeo |
lib.rs | romeo |
version | 0.0.5 |
source | src |
created_at | 2018-06-20 14:46:22.403685 |
updated_at | 2018-07-27 04:15:43.097396 |
description | An experimental actor framework for plug-able behaviors |
homepage | |
repository | https://github.com/johnmurray/romeo |
max_upload_size | |
id | 70961 |
size | 31,959 |
Romeo is an experimental actor framework for Rust. At this point things are really
rough and I'm still getting things ready for eventual use. So go away. -__-
Still here? Okay, well I'll keep talking. The eventual goal is to create a distributed actor framework with plug-able behaviors. What do I mean by that? Well, firstly the goal is to get something that can run on multiple machines and communicate across them. But once we get to this point, there are a lot of questions about how the distributed system should be built. What guarantees do I want to provide? How do I shard? How do I replicate? How do I get consensus and what do I need consensus on?
This project intends to make all of that plug-able so that user-defined implementations can be used and experimented with. The goal is to create an actor system that is customizable/tunable to the end-users desires.
Like I said at the beginning, this is currently just in the beginning phases of me designing the basic bits and getting everything working. Don't expect magic at the moment, or any real stability if you plan to play around with it.
Actors can be created, addressed, and communicated with. A basic runtime exists to execute messages over actors. The runtime operates schedulers across multiple threads, each running a simplified event-loop.
Implementing a basic context with actor self-management features (stop, restart, etc).