Packages
x3m_system
0.9.1
0.9.1
0.9.0
0.8.6
0.8.5
0.8.4
0.8.3
0.8.2
0.8.1
0.8.0
retired
0.7.20
0.7.19
0.7.18
0.7.17
0.7.16
0.7.15
0.7.14
0.7.13
0.7.12
0.7.11
0.7.10
0.7.9
0.7.8
retired
0.7.7
0.7.6
retired
0.7.5
0.7.4
retired
0.7.3
retired
0.7.2
0.7.1
0.7.0
0.6.4
0.6.3
0.6.2
0.6.1
0.6.0
retired
0.5.6
0.5.5
0.5.4
0.5.3
0.5.2
0.5.1
0.5.0
0.4.9
0.4.8
0.4.7
0.4.6
0.4.5
0.4.4
0.4.3
0.4.2
0.4.1
0.4.0
0.1.1
0.1.0
Building blocks for distributed and/or CQRS/ES systems
Current section
Files
Jump to
Current section
Files
lib/service_registry/state.ex
defmodule X3m.System.ServiceRegistry.State do
@moduledoc !"""
Internal. State struct for `X3m.System.ServiceRegistry`, holding the local,
public and remote service maps.
"""
defmodule Services do
@moduledoc !"Internal. Local/public/remote service maps held by the service registry."
@type t() :: %__MODULE__{local: local_services(), remote: remote_services()}
@type local_services() :: %{service_name() => node()}
@type remote_services() :: %{service_name() => %{node() => module :: atom()}}
@type service_name() :: atom()
@enforce_keys ~w(local public remote)a
defstruct @enforce_keys
end
@type t() :: %__MODULE__{services: Services.t()}
@enforce_keys ~w(services)a
defstruct @enforce_keys
end