No description
Find a file
Zachery Aaron Shores-Chmielewski a185c8068c feat: try_tick() for single-threaded runtimes
Make single-threaded tick driving observable so callers can tell whether a tick actually performed work.

- src/runtime.rs: add try_tick() returning whether any worker did work, add has_work() reporting schedulable work, and reduce tick() to a thin wrapper that ignores try_tick()'s result
- src/worker.rs: extract the fast-idle predicate into a reusable Worker::has_work() (backlog plus non-empty spawn/transfer/admin queues plus pending extension work) and reuse it from both the new runtime has_work() and the idle short-circuit in tick_once()

Signed-off-by: Zachery Aaron Shores-Chmielewski <zacheryasc@gmail.com>
2026-07-15 14:48:13 +04:00
.cargo feat(mvp-system): expand one-node mvp binaries and provisioning 2026-07-05 13:59:51 +04:00
apps/mvp-node feat: rework datastream into catalog events, add gguf metadata 2026-07-12 10:14:34 +04:00
crates refactor(mvp-system): rewrite mvp_chat bin, add chat/orchestrator specs 2026-07-15 12:49:56 +04:00
src feat: try_tick() for single-threaded runtimes 2026-07-15 14:48:13 +04:00
tests feat: actor direct control via runtime admin 2026-07-08 19:23:03 +04:00
tools/vastai refactor: retire old pipeline-parallel app, restructure mvp-system 2026-07-07 14:40:02 +04:00
xtask refactor(mvp-system): rewrite mvp_chat bin, add chat/orchestrator specs 2026-07-15 12:49:56 +04:00
.dockerignore refactor: retire old pipeline-parallel app, restructure mvp-system 2026-07-07 14:40:02 +04:00
.gitignore refactor: retire old pipeline-parallel app, restructure mvp-system 2026-07-07 14:40:02 +04:00
Cargo.lock refactor(mvp-system): rewrite mvp_chat bin, add chat/orchestrator specs 2026-07-15 12:49:56 +04:00
Cargo.toml feat: add mvp provisioning subsystem and datastream transport 2026-06-25 16:30:18 +04:00
README.md feat: add mvp provisioning subsystem and datastream transport 2026-06-25 16:30:18 +04:00

swactor

Minimal actor runtime for Rust. One trait, one message type. Single-threaded (tick()) or multi-threaded (run()).

Description

Core runtime is src/. Actors implement ActorInterface (in actor.rs), interact through Ctx (in runtime.rs), and run on worker threads (worker.rs).

crates/ builds upward: std adds OTP patterns (supervision, monitoring, groups), distribution adds clustering, everything else composes from there.

Dev commands

cargo xtask --help for the basic test command.

Testing

cargo check --workspace
cargo xtask test