defmodule A2S.Supervisor do @moduledoc """ Singleton dynamic supervisor for`A2S.Statem`s. """ use DynamicSupervisor ## API @spec start_link(any) :: :ignore | {:error, any} | {:ok, pid} def start_link(_arg) do DynamicSupervisor.start_link(__MODULE__, [], name: __MODULE__) end @spec start_child({:inet.ip_address, :inet.port_number}) :: :ignore | {:error, any} | {:ok, pid} | {:ok, pid, any} def start_child(address) do DynamicSupervisor.start_child(__MODULE__, {A2S.Statem, address}) end ## Callbacks @impl true def init(_arg) do DynamicSupervisor.init(strategy: :one_for_one) end end