Port (behaviour) for role data storage.
Implementations provide persistent storage for role↔node mappings and node membership tracking per scope.
The default implementation is ClusterHelper.ETSStore.
Summary
Callbacks
Returns all nodes that have at least one role in the scope.
Removes all role entries for a node in a scope.
Removes a single role from a node in a scope.
Removes multiple roles from a node in one scope.
Returns all roles for the local node in the given scope.
Returns all nodes that have the given role in the scope.
Returns all roles for the given node in the scope.
Initialises the store (creates tables, etc.).
Inserts roles for a node in a scope.
Types
Callbacks
Returns all nodes that have at least one role in the scope.
Removes all role entries for a node in a scope.
Removes a single role from a node in a scope.
Removes multiple roles from a node in one scope.
Optional — implementations may batch the removal for efficiency.
When not exported, ClusterHelper.NodeConfig falls back to calling
delete_role/3 once per role.
Returns all roles for the local node in the given scope.
Returns all nodes that have the given role in the scope.
Returns all roles for the given node in the scope.
@callback init() :: :ok
Initialises the store (creates tables, etc.).
Inserts roles for a node in a scope.