Syntropy.LatticeSupervisor (syntropy v0.1.0)

Copy Markdown

DynamicSupervisor-backed lattice container.

Summary

Functions

add_agent(name, perspective, opts \\ [])

@spec add_agent(String.t(), String.t(), keyword()) ::
  {:ok, String.t()} | {:error, term()}

apply_persistent_join(agent_a_id, agent_b_id)

@spec apply_persistent_join(String.t(), String.t()) ::
  {:ok, String.t()} | {:error, term()}

apply_persistent_meet(agent_a_id, agent_b_id)

@spec apply_persistent_meet(String.t(), String.t()) ::
  {:ok, String.t()} | {:error, term()}

child_spec(arg)

Returns a specification to start this module under a supervisor.

See Supervisor.

get_agent(agent_id)

@spec get_agent(String.t()) :: Syntropy.Agent.state() | nil

join(agent_a_id, agent_b_id)

@spec join(String.t(), String.t()) :: {:ok, String.t()} | {:error, term()}

list_agents()

@spec list_agents() :: [Syntropy.Agent.state()]

meet(agent_a_id, agent_b_id)

@spec meet(String.t(), String.t()) :: {:ok, String.t()} | {:error, term()}

start_link(opts \\ [])

@spec start_link(keyword()) :: Supervisor.on_start()