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

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()}

projection_create_or_update_table(projection_type, table_name)

projection_query(projection_type, query, params, opts)

projection_upsert(projection_type, table_name, data)

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()}