diff options
Diffstat (limited to 'p11p-daemon/src/p11p_remote_manager.erl')
-rw-r--r-- | p11p-daemon/src/p11p_remote_manager.erl | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/p11p-daemon/src/p11p_remote_manager.erl b/p11p-daemon/src/p11p_remote_manager.erl index 633a4aa..d2bbd11 100644 --- a/p11p-daemon/src/p11p_remote_manager.erl +++ b/p11p-daemon/src/p11p_remote_manager.erl @@ -12,8 +12,8 @@ %% API. -export([start_link/0]). --export([remote_for_token/1, kill_remote/2]). % For servers. --export([timeout/1]). % For remotes. +-export([remote_for_token/1, client_change/2]). % For servers. +-export([server_change/2]). % For remotes. %% Genserver callbacks. -export([init/1, handle_call/3, handle_cast/2, handle_info/2, terminate/2, @@ -44,11 +44,11 @@ start_link() -> -spec remote_for_token(string()) -> pid(). remote_for_token(TokName) -> gen_server:call(?MODULE, {remote_for_token, TokName}). -kill_remote(TokName, Pid) -> - gen_server:call(?MODULE, {kill_remote, {TokName, Pid}}). +client_change(Change, Args) -> + gen_server:call(?MODULE, {client_change, Change, Args}). -timeout(TokName) -> - gen_server:call(?MODULE, {timeout, TokName}). +server_change(Change, Args) -> + gen_server:call(?MODULE, {server_change, Change, Args}). %% Genserver callbacks. init([]) -> @@ -68,7 +68,7 @@ handle_call({remote_for_token, TokName}, _From, #state{tokens = Tokens} = State) _ -> {reply, Pid, State} end; -handle_call({timeout, TokName}, _From, #state{tokens = Tokens} = State) -> +handle_call({server_change, timeout, [TokName]}, _From, #state{tokens = Tokens} = State) -> lager:debug("~p: ~s: timed out", [self(), TokName]), %% TODO: do some code dedup with remote_for_token? #{TokName := Token} = Tokens, @@ -79,12 +79,12 @@ handle_call({timeout, TokName}, _From, #state{tokens = Tokens} = State) -> NewState = State#state{tokens = Tokens#{TokName := NewToken}}, lager:debug("~p: ~s: updated token: ~p", [self(), TokName, NewToken]), {reply, ok, NewState}; -handle_call({kill_remote, {TokName, Pid}}, From, #state{tokens = Tokens} = State) -> +handle_call({client_change, client_gone, [TokName, Pid]}, From, #state{tokens = Tokens} = State) -> lager:debug("~p: killing off remote ~p on request from ~p", [self(), Pid, From]), gen_server:stop(Pid), #{TokName := Token} = Tokens, Remotes = Token#token.remotes, - NewRemotes = lists:map(fun(E) -> + NewRemotes = lists:map(fun(E) -> % TODO: any risk of losing list order? case E#remote.pid of Pid -> E#remote{pid = undefined}; _ -> E |