Persistent cluster-node registration and exact configured membership reads.
Only configured voter IDs are read. Discovery and arbitrary metadata records never expand the placement membership.
Summary
Types
@type member_record() :: %{ node: ExStorageService.Cluster.Node.t(), mod_revision: non_neg_integer() }
Functions
@spec member(ExStorageService.InstanceConfig.t(), binary(), keyword()) :: {:ok, member_record()} | {:error, :not_found | term()}
@spec members( ExStorageService.InstanceConfig.t(), keyword() ) :: {:ok, [member_record()]} | {:error, term()}
@spec register( ExStorageService.InstanceConfig.t(), keyword() ) :: :ok | {:error, term()}
@spec set_draining( ExStorageService.InstanceConfig.t(), binary(), boolean(), keyword() ) :: {:ok, member_record()} | {:error, term()}