View Source Finitomata.ClusterInfo behaviour (Finitomata v0.29.0)

The behaviour to be implemented for locating the node across the cluster.

Infinitomata comes with a default naïve implementation, which simply responds with a determined random value for whois/1 and with all visible nodes list for nodes/0.

The call to Finitomata.ClusterInfo.init/1 passing the module implementing the desired behaviour is mandatory before any call to Infinitomata.start_fsm/4 to preserve a determined consistency.

Summary

Callbacks

Returns nodes available to select from

Returns the node “selected” for this particular id

Functions

Call this function to select an implementation of a cluster lookup

Delegates to the selected implementation of a cluster lookup

Delegates to the selected implementation of a cluster lookup

Callbacks

nodes()

@callback nodes() :: [node()]

Returns nodes available to select from

whois(id)

@callback whois(id :: term()) :: node() | nil

Returns the node “selected” for this particular id

Functions

init(impl)

Call this function to select an implementation of a cluster lookup

nodes()

Delegates to the selected implementation of a cluster lookup

whois(id)

Delegates to the selected implementation of a cluster lookup