| Crates.io | fraktor-actor-core-rs |
| lib.rs | fraktor-actor-core-rs |
| version | 0.2.11 |
| created_at | 2025-11-12 14:45:58.963418+00 |
| updated_at | 2025-11-12 14:45:58.963418+00 |
| description | fraktor no_std actor runtime core |
| homepage | https://github.com/j5ik2o/fraktor-rs |
| repository | https://github.com/j5ik2o/fraktor-rs |
| max_upload_size | |
| id | 1929476 |
| size | 829,917 |
See README.ja.md for the Japanese edition.
fraktor-rs is a specification-driven actor runtime that mirrors the lifecycle, supervision, and remoting patterns of Akka/Pekko and protoactor-go while remaining friendly to both no_std microcontrollers and host targets such as Tokio. The workspace ships a consistent API surface across actor-core (portable runtime), actor-std (host adapters), and utils-* crates, making it possible to deploy the same behaviors from RP2040 boards to Linux servers.
SystemMessage::{Create,Recreate,Failure} takes priority in the system mailbox to guarantee deterministic supervision and DeathWatch flows.ActorPathParts, PathSegment, and ActorPathFormatter build pekko://system@host:port/user/... URIs with guardian injection, UID suffixes, and RFC2396 validation.RemoteAuthorityManager tracks Unresolved → Connected → Quarantine transitions, defers outbound traffic, and enforces quarantine timeouts sourced from RemotingConfig.TypedActor bridges into classic actors via into_untyped/as_untyped, preserving reply semantics without global sender state.fraktor-utils-core provides RuntimeToolbox primitives (portable atomics, spinlocks, timers) so higher layers stay allocator-agnostic and interrupt-safe.utils-core --> actor-core --> actor-std
^ ^ ^
| | |
| Remoting & Tokio/host
utility system APIs integration
actor-core.rustup toolchain install nightly)cargo-dylint, rustc-dev, llvm-tools-preview (for custom lints)rustup target add thumbv6m-none-eabi thumbv8m.main-none-eabi for embedded buildsgit clone git@github.com:j5ik2o/fraktor-rs.git
cd fraktor-rs
cargo fmt --check
cargo test -p fraktor-utils-core-rs uri_parser
cargo test -p fraktor-actor-core-rs actor_path
scripts/ci-check.sh all # full lint + dylint + no_std/std/embedded + docs
| Path | Description |
|---|---|
modules/utils-core |
no_std primitives: portable atomics, RuntimeToolbox, RFC2396 URI parser |
modules/actor-core |
platform-neutral ActorSystem, actor path registry, remote authority manager |
modules/actor-std |
Tokio bindings, host logging/telemetry bridges |
modules/utils-std |
std-only helpers layered on utils-core |
scripts/ |
repeatable CI entry points (lint, dylint, no_std, std, embedded, docs) |
.kiro/ |
OpenSpec-driven requirements/design/tasks plus steering policies |
Large features follow the OpenSpec flow captured in .kiro/specs/<feature>:
/prompts:kiro-* commands).kiro/steering/ define coding standards (2018 modules, 1 type per file, rustdoc in English, non-rustdoc in Japanese unless otherwise stated)./prompts:kiro-validate-* to ensure requirements traceability and test coverage before merging./system guardians, .. navigation).RemoteAuthorityManager quarantine timers and deferred queues.docs/guides) and add bilingual coverage to match README.ja.md..kiro/specs/ before touching code.scripts/ci-check.sh all locally; ensure both no_std and std test suites pass.Dual-licensed under Apache-2.0 and MIT. See LICENSE-APACHE and LICENSE-MIT for details.