View Source API Reference partisan v5.0.0-rc.8

Modules

The Partisan API. Some of the functions in this module are the Partisan counterparts of a subset of the functions found in the erlang and net_kernel modules.

This module realises the partisan_peer_service_manager behaviour implementing client-server topology where clients communicate with a single server and servers form a full-mesh topology.

This module handles the validation, access and modification of Partisan configuration options. Some options will only take effect after a restart of the Partisan application, while other will take effect while the application is still running.

This module is an adaptation of Erlang erpc module.

This module implements the full-mesh membership strategy to be used with {link partisan_pluggable_peer_service_manager}.

This module realises the partisan_peer_service_manager behaviour implementing a peer-to-peer partial mesh topology using the protocol described in the paper HyParView: a membership protocol for reliable gossip-based broadcast by João Leitão, José Pereira and Luís Rodrigues.

This module represents the cluster membership view for this node.

This module is responsible for monitoring processes on remote nodes and implementing the monitoring API provided by the partisan module which follows the API provided by the Erlang modules erlang and net_kernel.

TODO validate this module, align vs partisan_gen and if useful add gen_statem API, deprecating fsm API.

This state machine is responsible for enabled cluster peers using the defined implementation backend (callback module).

An implementation of the partisan_peer_discovery_agent behaviour that uses DNS for service discovery.

An implementation of the partisan_peer_discovery_agent behaviour that uses a static list of node names for service discovery.

This modules implements the Peer Service API. All functions in this module forward the invocation to the configured peer service manager (option peer_service_manager) which must be one of the Partisan's managers implementing partisan_peer_service_manager, i.e. one of:Each node running Partisan listens for connections on a particular IP address and port. This is the information that is required when other nodes wish to join this node.

Wrapper that allows transparent usage of plain TCP or TLS socket for peer connections.

This module realises the partisan_peer_service_manager behaviour implementing a peer sampling service with a pluggable overlay topology by delegating the topology definition to a callback module implementing the {partisan_peer_service_strategy} behaviour.

This modules implements a server that realises the partisan_plumtree_broadcast_handler behaviour in order to diseminate heartbeat messages. Partisan uses these heartbeat messages to stimulate the Epidemic Broadcast Tree construction.

This module implements the Plumtree Protocol which is the component that materialises Partisan's gossip scheme.

This module defines a behaviour to customise the implementation for the operations performed by the partisan_plumtree_broadcast server.

Remote references are Partisan's representation for remote process identifiers (pid()), registered names and references (reference()).

This module requires disterl.

Parse transformation that replaces all instances of the Erlang bang operator ! with a call to partisan:forward_message/2.

Ringleader parse transformation.

A simple Erlang implementation of vector clocks as inspired by Lamport logical clocks. Taken from Riak.