Packages
spawn_statestores
1.2.2
2.0.0-RC9
2.0.0-RC8
2.0.0-RC7
2.0.0-RC6
2.0.0-RC5
2.0.0-RC4
2.0.0-RC3
2.0.0-RC2
2.0.0-RC14
2.0.0-RC13
2.0.0-RC12
2.0.0-RC11
2.0.0-RC10
2.0.0-RC1
1.4.3
1.4.2
1.4.1
1.4.0
1.3.3
1.3.2
1.3.1
1.3.0
1.2.2
1.2.1
1.2.0
1.1.1
1.1.0
1.0.1
1.0.0
1.0.0-rc4
1.0.0-rc3
1.0.0-rc2
1.0.0-rc16
1.0.0-rc15
1.0.0-rc14
1.0.0-rc13
1.0.0-rc1
1.0.0-rc.38
1.0.0-rc.37
1.0.0-rc.36
1.0.0-rc.35
1.0.0-rc.34
1.0.0-rc.33
1.0.0-rc.32
1.0.0-rc.31
1.0.0-rc.30
1.0.0-rc.29
1.0.0-rc.28
1.0.0-rc.27
1.0.0-rc.26
1.0.0-rc.25
1.0.0-rc.24
1.0.0-rc.23
1.0.0-rc.22
1.0.0-rc.21
1.0.0-rc.20
1.0.0-rc.19
1.0.0-rc.18
1.0.0-rc.17
1.0.0-beta1
0.6.3
0.6.2
0.6.1
0.6.0
0.5.5
0.5.4
0.5.3
0.5.1
0.5.0
0.5.0-rc.13
0.5.0-rc.12
0.5.0-rc.11
0.5.0-rc.10
0.5.0-rc.9
0.5.0-rc.8
0.5.0-rc.7
0.5.0-rc.6
0.5.0-rc.5
0.5.0-rc.3
0.5.0-alpha.13
0.5.0-alpha.12
0.5.0-alpha.11
0.5.0-alpha.10
0.5.0-alpha.9
0.5.0-alpha.6
0.5.0-alpha.5
0.5.0-alpha.4
0.5.0-alpha.3
0.5.0-alpha.2
0.5.0-alpha.1
0.1.0
Spawn Statestores is the storage lib for the Spawn Actors System
Current section
Files
Jump to
Current section
Files
lib/statestores/adapters/lookup_behaviour.ex
defmodule Statestores.Adapters.LookupBehaviour do
@moduledoc """
`LookupBehaviour` defines how system get clustered actors info.
"""
@type actor_id :: struct()
@type host :: struct()
@doc """
Delete all records from a specific node.
"""
@callback clean(node()) :: {:error, any()} | {:ok, any()}
@doc """
Retrieves all actohost entries for a specific node.
"""
@callback get_all_by_node(node()) :: {:ok, any()} | {:error, any()}
@doc """
Fetches all existing entries for a given ActorId.
"""
@callback get_by_id(actor_id) :: {:ok, any()} | {:error, any()}
@doc """
Fetches all existing entries for a given ActorId for a specific node.
"""
@callback get_by_id_node(actor_id, node()) :: {:ok, any()} | {:error, any()}
@doc """
Saves or updates to persistent storage the ActorHost for a given ActorId.
"""
@callback set(actor_id(), node(), host()) :: {:error, any()} | {:ok, any()}
defmacro __using__(_opts) do
quote do
alias Statestores.Adapters.LookupBehaviour
import Ecto.Query, only: [from: 2]
import Statestores.Util, only: [init_config: 1, generate_key: 1]
@behaviour Statestores.Adapters.LookupBehaviour
def init(_type, config), do: init_config(config)
end
end
end