diff --git a/README.md b/README.md index 17b2ccc..d675a85 100644 --- a/README.md +++ b/README.md @@ -1,36 +1,52 @@ -aten -===== +# Aten [![Build Status](https://travis-ci.org/rabbitmq/aten.svg?branch=master)](https://travis-ci.org/rabbitmq/aten) -Implementation of [A New Adaptive Accrual Failure Detector for Dependable Distributed Systems](https://dl.acm.org/citation.cfm?id=1244129) -for distributed erlang. +This is an implementation of [A New Adaptive Accrual Failure Detector for Dependable Distributed Systems](https://dl.acm.org/citation.cfm?id=1244129) +for distributed Erlang. -Status: Maturing. Essential component of [Ra](https://github.com/rabbitmq/ra) +Aten is an essential dependency of [Ra](https://github.com/rabbitmq/ra). -Use ---- +## Project Maturity - % start the aten application if not part of a release - {ok, _Apps} = aten:start(), - % register interest in status changes for a node - ok = aten:register(node1@host), - % receive status change events - receive - {node_event, node1@host, down} -> ok; - {node_event, node1@host, up} -> ok - end +`aten` is a reasonably mature project that has been used in production +for a few years. Breaking public API changes are unlikely. - % deregister interest - ok = aten:deregister(node1@host), +## Use -Build ------ +``` erl +%% start the aten application if not part of a release +{ok, _Apps} = aten:start(), +%% register interest in status changes for a node +ok = aten:register(node1@host), +%% receive status change events +receive + {node_event, node1@host, down} -> ok; + {node_event, node1@host, up} -> ok +end - $ make +%% deregister interest +ok = aten:deregister(node1@host), +``` -or +## Build - $ rebar3 compile +``` shell +gmake +``` + +Or with Rebar 3 + +``` shell + +rebar3 compile +``` + +## License + +`aten` is [dual-licensed](./LICENSE) under the Mozilla Public License 2.0 +and the Apache Public License 2.0. + +(c) 2017-2020 VMware, Inc or its affiliates.