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

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

Summary

Functions

is_new?(old_hash, new_state)

load(actor_id)

@spec load(Spawn.Actors.ActorId.t()) :: {:ok, any()}

load(actor_id, revision)

@spec load(Spawn.Actors.ActorId.t(), number()) :: {:ok, any()}

load_all(actor_id)

@spec load_all(Spawn.Actors.ActorId.t()) ::
  {:ok, term()} | :not_found | {:error, term()}

load_by_interval(actor_id, time_start, time_end)

@spec load_by_interval(Spawn.Actors.ActorId.t(), String.t(), String.t()) ::
  {:ok, term()} | :not_found | {:error, term()}

save(actor_id, state, opts)

@spec save(Spawn.Actors.ActorId.t(), Spawn.Actors.ActorState.t(), Keyword.t()) ::
  {:ok, Spawn.Actors.ActorState.t()}
  | {:error, any(), Spawn.Actors.ActorState.t()}

save_async(actor_id, state, opts \\ [])

@spec save_async(
  Spawn.Actors.ActorId.t(),
  Spawn.Actors.ActorState.t(),
  Keyword.t()
) ::
  {:ok, Spawn.Actors.ActorState.t()}
  | {:error, any(), Spawn.Actors.ActorState.t()}