|
@@ -48,6 +48,7 @@
|
|
stop/0,
|
|
stop/0,
|
|
take_member/0,
|
|
take_member/0,
|
|
take_member/1,
|
|
take_member/1,
|
|
|
|
+ return_member/1,
|
|
return_member/2,
|
|
return_member/2,
|
|
% remove_pool/2,
|
|
% remove_pool/2,
|
|
% add_pool/1,
|
|
% add_pool/1,
|
|
@@ -110,6 +111,16 @@ return_member(Pid, Status) when is_pid(Pid) andalso
|
|
return_member(error_no_members, _) ->
|
|
return_member(error_no_members, _) ->
|
|
ok.
|
|
ok.
|
|
|
|
|
|
|
|
+%% @doc Return a member to the pool so it can be reused.
|
|
|
|
+%%
|
|
|
|
+-spec return_member(pid() | error_no_members) -> ok.
|
|
|
|
+return_member(Pid) when is_pid(Pid) ->
|
|
|
|
+ CPid = self(),
|
|
|
|
+ gen_server:cast(?SERVER, {return_member, Pid, ok, CPid}),
|
|
|
|
+ ok;
|
|
|
|
+return_member(error_no_members) ->
|
|
|
|
+ ok.
|
|
|
|
+
|
|
% TODO:
|
|
% TODO:
|
|
% remove_pool(Name, How) when How == graceful; How == immediate ->
|
|
% remove_pool(Name, How) when How == graceful; How == immediate ->
|
|
% gen_server:call(?SERVER, {remove_pool, Name, How}).
|
|
% gen_server:call(?SERVER, {remove_pool, Name, How}).
|