View Source Actors.Actor.StateManager.Behaviour behaviour (spawn v2.0.0-RC1)

StateManager.Behaviour Defines behavior that allows an Actor's state to be saved to persistent storage using database drivers.

Summary

Callbacks

is_new?(t, any)

@callback is_new?(String.t(), any()) :: {:error, term()} | boolean()

load(t)

@callback load(String.t()) :: {:ok, term()} | {:not_found, %{}} | {:error, term()}

load(t, number)

@callback load(String.t(), number()) ::
  {:ok, term()} | {:not_found, %{}} | {:error, term()}

load_all(t)

@callback load_all(String.t()) :: {:ok, term()} | {:not_found, %{}} | {:error, term()}

load_by_interval(t, t, t)

@callback load_by_interval(String.t(), String.t(), String.t()) ::
  {:ok, term()} | {:not_found, %{}} | {:error, term()}

save(t, term, t)

@callback save(String.t(), term(), Keyword.t()) ::
  {:ok, term(), String.t()}
  | {:error, term(), term(), term()}
  | {:error, term(), term()}

save_async(t, term, t)

@callback save_async(String.t(), term(), Keyword.t()) ::
  {:ok, term(), String.t()}
  | {:error, term(), term(), term()}
  | {:error, term(), term()}