Runbox.StateStore.Savepoint (runbox v26.0.0)

View Source

Savepoint represents state of runtime run valid to scheduled timestamp.

Summary

Functions

Predicate returning true when all registered states has been saved.

Returns entities with saved states.

Creates new savepoint with given timestamp and register entities.

Returns all registered entity ids.

Returns registered entities count of given savepoint.

Saves entity state in given savepoint.

Returns savepoint timestamp.

Types

t()

@type t() :: %Runbox.StateStore.Savepoint{
  entity_registry: %{
    required(Runbox.StateStore.Entity.id()) =>
      :not_set_yet | Runbox.StateStore.Entity.state()
  },
  stats: %{registered: integer(), saved: integer()},
  timestamp: Runbox.StateStore.ScheduleUtils.epoch_ms()
}

Functions

all_saved?(savepoint)

@spec all_saved?(t()) :: boolean()

Predicate returning true when all registered states has been saved.

entity_states(savepoint)

@spec entity_states(t()) :: [
  {Runbox.StateStore.Entity.id(), Runbox.StateStore.Entity.state()}
]

Returns entities with saved states.

new(entity_ids, timestamp)

Creates new savepoint with given timestamp and register entities.

registered_entities(savepoint)

@spec registered_entities(t()) :: [Runbox.StateStore.Entity.id()]

Returns all registered entity ids.

registered_entities_count(savepoint)

@spec registered_entities_count(t()) :: integer()

Returns registered entities count of given savepoint.

save(savepoint, entity_id, entity_state)

Saves entity state in given savepoint.

timestamp(savepoint)

Returns savepoint timestamp.