crossbus - Rust (original) (raw)
Expand description
CrossBus is a platform-less runtime-less actor computing model
§Overview
CrossBus is an implementation ofActor Computing Model, with the concept that
- Runtime-less
crossbus neither provide runtime for app execution nor access the system interface abstraction. no built-in runtime, but any runtime is allowed,
the system-provided / third-party’s / that fromFFI
-binding all work. Last but not least, even a bare-bone noop-waker executorcan do.
runtime-located features likeconcurrency
andI/O
are up to implementor. - Bare-Metal Compatible
crossbus links to no std library, no system libraries, no libc, and a few upstream libraries enbale you run rust code on bare metal. - Platform-less by Runtime-less
take the advantage of runtime-less, crossbus is able to bypass the limitation of runtime implementor and system interface abstraction and go right straight to manipulate task directly. This is the primary concept of crossbus to run across many platforms or without platforms. - Future-oriented Routine and Events
the futures way to execute task is retained even without runtime thanks to rust. crossbus defines a set of types and traits to allow asynchronous tasks manipulation. - Real-time Execution Control
taking the advantage of the design of future routine, each poll and events alongside can be intercepted for each spawned task during execution, with which more execution control is possible.
An abstraction for a computational entity
types for actors Messages Communication and Handling
blocking Execution Routine and Events
actor-level execution state and local environment during runtime
delayed Execution Routine and Events
Message Stream Execution Routine and Events
Some common traits and types
Reactor is the executor and manager of all actors,
Actor lifecycle Management
rtrt
Convenient Runtime for common use
Stream Execution Routine and Events
timetime
time module
mainderive
Messagederive