View Source API Reference reactor v0.8.2

Modules

Reactor is a dynamic, concurrent, dependency resolving saga orchestrator.

A step argument.

A protocol which can be used to convert something into an argument.

Build a new Reactor programmatically.

Handle composition of Reactors for the builder.

Handle adding inputs to Reactors for the builder.

Handle building and adding steps to Reactors for the builder.

The struct used to store argument DSL entities.

The around DSL entity struct.

A protocol which DSL entities must implement.

The struct used to store collect DSL entities.

The compose DSL entity struct.

The debug DSL entity struct.

The group DSL entity struct.

The struct used to store input DSL entities.

The middleware DSL entity struct.

The struct used to store step DSL entities.

The switch DSL entity struct.

The default DSL entity struct.

The matches? DSL entity struct.

Runs Reactor.Dsl.Build.verify/2 for all the entities in the reactor.

The struct used to store wait_for DSL entities.

Uses splode to manage various classes of error.

The Splode error class for Reactor-caused errors.

This error is returned when two Reactors cannot be composed together.

This error is returned when the Reactor's return name doesn't match any of the known step results.

This error is returned when the step graph cannot be built.

The Splode error class for user-caused errors.

This error is returned when an argument cannot have a subpath applied to it.

This error is returned when an error occurs during step compensation.

This error is returned when an expected argument is not passed to a step.

Error raised when a required Reactor input is missing.

This error is returned when a step attempts to consume an intermediate result which is not present in the Reactor state.

This error is returned when a step attempts to retry more times that is allowed.

This error is returned when an error occurs during step execution.

An error which occurs when building and running transforms.

An error used when a step runs out of retry events and no other error is thrown.

This error is returned when an error occurs when attempting to undo step execution.

The Splode error class for unknown errors.

An error used to wrap unknown errors.

The Splode error class for validation errors.

An error returned when a Reactor cannot be validated because of a missing return value.

An error returned when a Reactor is in an unexpected state.

The Reactor executor.

Handle the asynchronous execution of a batch of steps, along with any mutations to the reactor or execution state.

Manage shared concurrency pools for multiple Reactors.

Handles the execution of reactor middleware hooks.

Handle argument checking and state setup for a Reactor run.

Contains the reactor execution state.

Run an individual step, including compensation if possible.

Handle the synchronous execution of a single step, along with any mutations to the reactor or execution state.

Introspection for the Reactor DSL.

The Middleware behaviour.

A Reactor middleware that emits telemetry events.

Build an execution plan for a Reactor.

The Step behaviour and struct.

The built-in step for executing in-line DSL anonymous functions.

Wrap the execution of a number of steps in a function.

A built-in step which can embed one reactor inside another.

When doing run-time composition of Reactors we need to dynamically rewrite any dynamically emitted steps to have the correct namespace.

A very simple step which sends debug information to Logger.

Wrap the execution of a number of steps with before/after functions.

A very simple step which simply returns all it's arguments unchanged.

A very simple step which simply returns the named argument, if provided.

Conditionally decide which steps should be run at runtime.

The built-in step for executing input and argument transformations.

A built-in step which applies a transformation function to all it's arguments.

Templates used to refer to some sort of computed value.

The input template.

The result template.

A statically value template.