Add support for spawning peers, and monitoring the processes
This commit is contained in:
13
lib/agent.ex
13
lib/agent.ex
@@ -56,9 +56,8 @@ defmodule Frajtano.Agent do
|
||||
end
|
||||
|
||||
@impl true
|
||||
def handle_call({:add_peer, path}, _from, state) do
|
||||
# TODO: deduplicate peers by socket path
|
||||
case Peer.start(path) do
|
||||
def handle_call({:add_peer, spec}, _from, state) do
|
||||
case Peer.start(spec) do
|
||||
{:ok, _} -> {:reply, :ok, state}
|
||||
{:error, error} -> {:reply, {:error, error}, state}
|
||||
end
|
||||
@@ -73,7 +72,11 @@ defmodule Frajtano.Agent do
|
||||
GenServer.call(__MODULE__, {:sign, request}, :infinity)
|
||||
end
|
||||
|
||||
def add_peer(path) do
|
||||
GenServer.call(__MODULE__, {:add_peer, path})
|
||||
def assimilate(path) do
|
||||
GenServer.call(__MODULE__, {:add_peer, {:socket, path}})
|
||||
end
|
||||
|
||||
def spawn_peer(spec) do
|
||||
GenServer.call(__MODULE__, {:add_peer, {:spawn, spec}})
|
||||
end
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user