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

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