README.md 1.2 KB

rotor-light is real-time platform-neutral, C++ actor micro-framework for embedded systems with supervising capabilities.

rotor-light is built with the concurrency in the mind, i.e. independent entities (actors) interact each other via messages.

rotor-light is adoption of rotor framework for embedded systems. The framework has no platform-dependent code, so, it can, however, be used as is on host system, if you cautiously care about thread-safety.

features

  • erlang-like hierarchical supervisors

  • asynchornous messaging with priorities

  • plaform-agnostic code (including timers)

  • C++17

  • no thread-safety

  • no allocations, no exceptions, no RTTI

  • non-intrusiveness

  • compile-time actor hierarchies

ping-pong messaging performance & binary size

messages/second binary size
host (1) ~48.7M ~26kb
Arduino Uno R3 ~5.2K ~9kb

All examples can be measured with examples/ping-pong-throughput.cpp, compiled with CMAKE_BUILD_TYPE=MinSizeRel and the stripped

(1) Setup: Intel Core i7-8550U, Void Linux 5.15.

license

MIT