remove_conn_and_wait_protocol.erl 448 B

12345678910111213141516171819
  1. -module(remove_conn_and_wait_protocol).
  2. -behaviour(ranch_protocol).
  3. -export([start_link/4]).
  4. -export([init/2]).
  5. start_link(ListenerPid, _, _, [{remove, MaybeRemove}]) ->
  6. Pid = spawn_link(?MODULE, init, [ListenerPid, MaybeRemove]),
  7. {ok, Pid}.
  8. init(ListenerPid, MaybeRemove) ->
  9. ranch:accept_ack(ListenerPid),
  10. case MaybeRemove of
  11. true ->
  12. ranch_listener:remove_connection(ListenerPid);
  13. false ->
  14. ok
  15. end,
  16. receive after 2500 -> ok end.