Helios v0.1.0 API Reference
Modules
Helios application
Aggregate behaviour
Represent execution context for single message/command sent to helios endpoint
Entry point for domain
EventJournal
Defines behaviour for EventJournal adapter
Simple memory event journal adapter
Holds metadata and event data of emitted event
Represents persisted event
Represents position in event journal
Holds read result when all events are read from event journal
Represents response got from event journal
Holds stream metadata
Naming convention helpers
A protocol that converts data structures into URI parameters
Each message that comes from outer world needs to be adopted to message context.
By implementing send_resp/3
adpater should return response body that is sent to
caller
Builder for Helios pipeline
Behaviour, when implmented, such module can be used in message context pipeline
Logs execution request to logger
Default Helios.Registry distribution strategy
A quorum is the minimum number of nodes that a distributed cluster has to obtain in order to be allowed to perform an operation. This can be used to enforce consistent operation in a distributed system
This module implements the interface for custom distribution strategies.
The default strategy used by Helios.Registry is a consistent hash ring implemented
via the libring
library
This module implements the distributed tracker for process registrations and groups.
It is implemented as a finite state machine, via :gen_statem
This is an implementation of an Interval Clock Tree, ported from the implementation in Erlang written by Paulo Sergio Almeida psa@di.uminho.pt found here
Helios router module. When used in onther module, developer can define mappings
for paths that are assigned to specific aggregate implementation.
This mapping will be translated to routing logic that will help execute
aggregate commands in Helios.Pipeline
Exceptions
Error raised when trying to modify or send an already sent response
Error raised when no response is sent in a request
Indicates that command handler is not implemented
Wraps catched excpetions in aggregate pipeline and rearises it so path of execution can easily be spotted in error log
Exception raised when no route is found
Mix Tasks
Starts the application by configuring all endpoints servers to run