summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Klishin <michael@clojurewerkz.org>2020-05-18 10:54:22 +0300
committerMichael Klishin <michael@clojurewerkz.org>2020-07-14 03:50:29 +0300
commite86fa81a3f90599d03b2f9beaaa56cfb6a4226f1 (patch)
tree0c935e0e9304674ae940bb9398ed626c12facf3e
parent902333f10293fa1d5d1107348e58da719f273bb3 (diff)
downloadrabbitmq-server-git-e86fa81a3f90599d03b2f9beaaa56cfb6a4226f1.tar.gz
tcp_listener_sup: use maps for supervisor flags and child spec
-rw-r--r--src/rabbit_networking.erl10
-rw-r--r--src/tcp_listener_sup.erl21
2 files changed, 18 insertions, 13 deletions
diff --git a/src/rabbit_networking.erl b/src/rabbit_networking.erl
index 278afbd087..d54e50a1db 100644
--- a/src/rabbit_networking.erl
+++ b/src/rabbit_networking.erl
@@ -180,12 +180,12 @@ tcp_listener_addresses_auto(Port) ->
tcp_listener_spec(NamePrefix, {IPAddress, Port, Family}, SocketOpts,
Transport, ProtoSup, ProtoOpts, Protocol, NumAcceptors, Label) ->
+ Args = [IPAddress, Port, Transport, [Family | SocketOpts], ProtoSup, ProtoOpts,
+ {?MODULE, tcp_listener_started, [Protocol, SocketOpts]},
+ {?MODULE, tcp_listener_stopped, [Protocol, SocketOpts]},
+ NumAcceptors, Label],
{rabbit_misc:tcp_name(NamePrefix, IPAddress, Port),
- {tcp_listener_sup, start_link,
- [IPAddress, Port, Transport, [Family | SocketOpts], ProtoSup, ProtoOpts,
- {?MODULE, tcp_listener_started, [Protocol, SocketOpts]},
- {?MODULE, tcp_listener_stopped, [Protocol, SocketOpts]},
- NumAcceptors, Label]},
+ {tcp_listener_sup, start_link, Args},
transient, infinity, supervisor, [tcp_listener_sup]}.
-spec start_tcp_listener(
diff --git a/src/tcp_listener_sup.erl b/src/tcp_listener_sup.erl
index b0490a0f8d..2d384bb4dc 100644
--- a/src/tcp_listener_sup.erl
+++ b/src/tcp_listener_sup.erl
@@ -48,11 +48,16 @@ init({IPAddress, Port, Transport, SocketOpts, ProtoSup, ProtoOpts, OnStartup, On
{port, Port} |
SocketOpts]
},
- {ok, {{one_for_all, 10, 10}, [
- ranch:child_spec({acceptor, IPAddress, Port},
- Transport, RanchListenerOpts,
- ProtoSup, ProtoOpts),
- {tcp_listener, {tcp_listener, start_link,
- [IPAddress, Port,
- OnStartup, OnShutdown, Label]},
- transient, 16#ffffffff, worker, [tcp_listener]}]}}.
+ Flags = #{strategy => one_for_all, intensity => 10, period => 10},
+ OurChildSpec = #{
+ id => tcp_listener,
+ start => {tcp_listener, start_link, [IPAddress, Port, OnStartup, OnShutdown, Label]},
+ restart => transient,
+ shutdown => 16#ffffffff,
+ type => worker,
+ modules => [tcp_listener]
+ },
+ RanchChildSpec = ranch:child_spec({acceptor, IPAddress, Port},
+ Transport, RanchListenerOpts,
+ ProtoSup, ProtoOpts),
+ {ok, {Flags, [RanchChildSpec, OurChildSpec]}}.