benches/simple_rhai_bench | ||
core | ||
interfaces | ||
proxies/http | ||
.gitignore | ||
Cargo.lock | ||
Cargo.toml | ||
README.md |
Hero
Hero is a program that runs scripts in contexts on behalf of a peer. Hero aims to support a language sufficient to support all of one's digital actions. As such, hero can become a tool of digital sovereignty, allowing people and groups to own their own structured data and functionality to act on it.
Terminology
Term | Definition |
---|---|
Hero | A program that runs scripts in various contexts on behalf of a peer. |
Heroscript | A script that runs in a confined environment on behalf of a peer. |
Rhai | A scripting language integrated into the Hero environment for script execution. |
Core
In its core, a dispatcher dispatches jobs to execute scripts to workers over redis. Workers spawn appropriate engine instances to execute scripts within the defined confines of the job.
Components
Dispatcher
Component responsible for distributing jobs to workers over Redis.
Engine
A process that runs a script in a confined environment.
Job
A unit of work that executes a Rhai or Hero script.
Worker
An entity that processes jobs dispatched by the dispatcher.