Crate crossbus

source ·
Expand description

CrossBus is a platform-less runtime-less actor computing model

Overview

CrossBus is an implementation of Actor 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 from FFI-binding all work. Last but not least, even a bare-bone noop-waker executor can do.

    runtime-located features like concurrency and I/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.

Modules

  • 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

Attribute Macros

Derive Macros