Add support for spawning peers, and monitoring the processes

This commit is contained in:
bluepython508 committed 2024-09-24 22:13:31 +01:00
1 parent 5e65fad33d
commit 23d3a97643
6 files changed
+94 -17

No files matched your search

+8 -5
View File
@@ -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