From: Christopher Coté Date: Wed, 27 Jan 2021 22:11:24 +0000 (-0600) Subject: move add to client and not session X-Git-Url: http://git.entropealabs.com/?a=commitdiff_plain;h=b35a0e5be4910067dc5b2123e3caab89731df13c;p=wampex_client.git move add to client and not session --- diff --git a/lib/client.ex b/lib/client.ex index 5e08eb1..15c5855 100644 --- a/lib/client.ex +++ b/lib/client.ex @@ -94,7 +94,15 @@ defmodule Wampex.Client do %Error{error: "wamp.error.no_session"} sess_name -> - Sess.add(sess_name, pid) + case Sess.connected?(sess_name) do + true -> + send(pid, {:connected, name}) + + false -> + :noop + end + + Registry.register(dependent_registry_name(name), pid, pid) end end diff --git a/lib/client/session.ex b/lib/client/session.ex index 1ced226..0753a61 100644 --- a/lib/client/session.ex +++ b/lib/client/session.ex @@ -112,23 +112,14 @@ defmodule Wampex.Client.Session do __MODULE__.call(name, {:send_request, request}, timeout) end - def add(name, pid) do - __MODULE__.call(name, {:add, pid}) + @spec connected?(name :: atom()) :: true | false + def connected?(name) do + __MODULE__.call(name, :connected) end @impl true - def handle_call({:add, pid}, from, _, %SL{data: %Sess{name: name, connected: conn}} = sl) do - case conn do - true -> - send(pid, {:connected, name}) - - false -> - :noop - end - - r = Registry.register(Client.dependent_registry_name(name), pid, pid) - {:ok, sl, [{:reply, from, r}]} - end + def handle_call(:connected, from, _, %SL{data: %Sess{connected: conn}} = sl), + do: {:ok, sl, [{:reply, from, conn}]} @impl true def handle_call(