Crate apis [] [src]

Apis

Reactive, session-oriented, asynchronous process-calculus framework.

Repository

Processes are "reactive" threads with specified message handling and update behavior.

Sessions are collections of Processes and Channels in a fixed communication topology. The def_session! macro is used to define a Session together with its Channels and Processes.

A 'Program' defines a transition system with Sessions as nodes. The def_program! macro is used to define modes (Sessions) and transitions between them.

Re-exports

pub extern crate num_traits;
pub use channel::Channel;
pub use message::Message;
pub use process::Process;
pub use program::Program;
pub use session::Session;

Modules

channel
message
process
program
session

Macros

IterVariants
NextVariant
PrevVariant
debug

Logs a message at the debug level.

def_machine

State machines with a default initial state.

def_program

Define a Program state machine.

def_session

Macro to define all parts of a session.

enum_unitary

Wraps "unitary" enums (i.e. enums where variants do not have payloads) with enum_derive derives (IterVariants, NextVariant, PrevVariant) and implements the EnumUnitary trait.

error

Logs a message at the error level.

info

Logs a message at the info level.

log

The standard logging macro.

macro_attr

When given an item definition, including its attributes, this macro parses said attributes and dispatches any attributes or derivations suffixed with ! to user-defined macros. This allows multiple macros to process the same item.

trace

Logs a message at the trace level.

warn

Logs a message at the warn level.

Functions

report_sizes