Bedrock.ControlPlane.Director.State (bedrock v0.5.2)

View Source

Internal state structure for the Director process.

Summary

Types

state()

@type state() :: :starting | :recovery | :running | :stopped

t()

@type t() :: %Bedrock.ControlPlane.Director.State{
  cluster: module(),
  config: Bedrock.ControlPlane.Config.t() | nil,
  coordinator: pid(),
  epoch: Bedrock.epoch(),
  lock_token: binary(),
  node_capabilities: %{required(Bedrock.Cluster.capability()) => [node()]},
  old_transaction_system_layout:
    Bedrock.ControlPlane.Config.TransactionSystemLayout.t() | nil,
  recovery_attempt: Bedrock.ControlPlane.Config.RecoveryAttempt.t() | nil,
  services: %{
    required(Bedrock.Service.Worker.id()) => {atom(), {atom(), node()}}
  },
  state: state(),
  timers: timer_registry() | nil,
  transaction_system_layout:
    Bedrock.ControlPlane.Config.TransactionSystemLayout.t() | nil
}

timer_registry()

@type timer_registry() :: %{required(atom()) => reference()}