diff options
| author | Michael Klishin <michael@clojurewerkz.org> | 2020-05-18 10:54:22 +0300 |
|---|---|---|
| committer | Michael Klishin <michael@clojurewerkz.org> | 2020-07-14 03:50:29 +0300 |
| commit | e86fa81a3f90599d03b2f9beaaa56cfb6a4226f1 (patch) | |
| tree | 0c935e0e9304674ae940bb9398ed626c12facf3e | |
| parent | 902333f10293fa1d5d1107348e58da719f273bb3 (diff) | |
| download | rabbitmq-server-git-e86fa81a3f90599d03b2f9beaaa56cfb6a4226f1.tar.gz | |
tcp_listener_sup: use maps for supervisor flags and child spec
| -rw-r--r-- | src/rabbit_networking.erl | 10 | ||||
| -rw-r--r-- | src/tcp_listener_sup.erl | 21 |
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]}}. |
