Fief.Presence behaviour (Fief v0.1.0)

Copy Markdown View Source

Live-node hints (design §5.1, implementation.md §3). Never load-bearing: presence accelerates reactions (cache refresh, planner wake-ups) but no safety property may depend on it. Push messages to subscribers:

{:fief_presence, :up, node_id}
{:fief_presence, :down, node_id}

Summary

Types

provider()

@type provider() :: GenServer.server()

Callbacks

active_set(provider)

@callback active_set(provider()) :: {:ok, [node_id :: term()]}

subscribe(provider, pid)

@callback subscribe(provider(), pid()) :: :ok | {:error, :not_supported}