Skip to content

Commit 770a362

Browse files
authored
Merge pull request #4441 from esl/minor_cleanups
Minor cleanups
2 parents 4bac0ce + 08f53a0 commit 770a362

18 files changed

+85
-121
lines changed

big_tests/tests/component_helper.erl

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -65,13 +65,15 @@ component_start_stream(Conn = #client{props = Props}, []) ->
6565

6666
ComponentHost = <<Component/binary, ".", Server/binary>>,
6767
StreamStart = component_stream_start(ComponentHost, false),
68+
ct:log("sent~n~p~n", [StreamStart]),
6869
ok = escalus_connection:send(Conn, StreamStart),
6970
StreamStartRep = escalus_connection:get_stanza(Conn, wait_for_stream),
71+
ct:log("received~n~p~n", [StreamStartRep]),
7072

7173
#xmlstreamstart{attrs = Attrs} = StreamStartRep,
7274
Id = proplists:get_value(<<"id">>, Attrs),
7375

74-
{Conn#client{props = [{sid, Id}|Props]}, []}.
76+
{Conn#client{props = [{sid, Id} | Props]}, []}.
7577

7678
component_stream_start(Component, IsSubdomain) ->
7779
Attrs1 = [{<<"to">>, Component},
@@ -91,9 +93,10 @@ component_handshake(Conn = #client{props = Props}, []) ->
9193
{sid, SID} = lists:keyfind(sid, 1, Props),
9294

9395
Handshake = component_handshake_el(SID, Password),
96+
ct:log("sent~n~p~n", [Handshake]),
9497
ok = escalus_connection:send(Conn, Handshake),
95-
9698
HandshakeRep = escalus_connection:get_stanza(Conn, handshake),
99+
ct:log("received~n~p~n", [HandshakeRep]),
97100
case HandshakeRep of
98101
#xmlel{name = <<"handshake">>, children = []} ->
99102
{Conn, []};
@@ -110,8 +113,10 @@ component_start_stream_subdomain(Conn = #client{props = Props}, []) ->
110113
{component, Component} = lists:keyfind(component, 1, Props),
111114

112115
StreamStart = component_stream_start(Component, true),
116+
ct:log("sent~n~p~n", [StreamStart]),
113117
ok = escalus_connection:send(Conn, StreamStart),
114118
StreamStartRep = escalus_connection:get_stanza(Conn, wait_for_stream),
119+
ct:log("received~n~p~n", [StreamStartRep]),
115120

116121
#xmlstreamstart{attrs = Attrs} = StreamStartRep,
117122
Id = proplists:get_value(<<"id">>, Attrs),

src/c2s/mongoose_c2s_listener.erl

Lines changed: 7 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,6 @@
99
-behaviour(ranch_protocol).
1010
-export([start_link/3]).
1111

12-
-behaviour(supervisor).
13-
-export([start_link/1, init/1]).
14-
-ignore_xref([start_link/1]).
15-
1612
%% Hook handlers
1713
-export([handle_user_open_session/3]).
1814

@@ -32,11 +28,14 @@ instrumentation(_Opts) ->
3228

3329
%% mongoose_listener
3430
-spec start_listener(options()) -> ok.
35-
start_listener(Opts) ->
31+
start_listener(#{module := Module} = Opts) ->
32+
HostTypes = ?ALL_HOST_TYPES,
33+
TransportOpts = prepare_socket_opts(Opts),
3634
ListenerId = mongoose_listener_config:listener_id(Opts),
37-
ChildSpec = listener_child_spec(ListenerId, Opts),
38-
mongoose_listener_sup:start_child(ChildSpec),
39-
ok.
35+
maybe_add_access_check(HostTypes, Opts, ListenerId),
36+
ChildSpec = ranch:child_spec(ListenerId, ranch_tcp, TransportOpts, Module, Opts),
37+
ChildSpec1 = ChildSpec#{id := ListenerId, modules => [?MODULE, ranch_embedded_sup]},
38+
mongoose_listener_sup:start_child(ChildSpec1).
4039

4140
%% Hooks and handlers
4241
-spec handle_user_open_session(mongoose_acc:t(), mongoose_c2s_hooks:params(), gen_hook:extra()) ->
@@ -67,19 +66,6 @@ start_link(Ref, Transport, Opts = #{hibernate_after := HibernateAfterTimeout}) -
6766
mongoose_c2s:start_link({mongoose_c2s_ranch, {Transport, Ref}, Opts}, [{hibernate_after, HibernateAfterTimeout}]).
6867

6968
%% supervisor
70-
-spec start_link(options()) -> any().
71-
start_link(Opts) ->
72-
supervisor:start_link(?MODULE, Opts).
73-
74-
-spec init(options()) -> {ok, {supervisor:sup_flags(), [supervisor:child_spec()]}}.
75-
init(#{module := Module} = Opts) ->
76-
HostTypes = ?ALL_HOST_TYPES,
77-
TransportOpts = prepare_socket_opts(Opts),
78-
ListenerId = mongoose_listener_config:listener_id(Opts),
79-
maybe_add_access_check(HostTypes, Opts, ListenerId),
80-
Child = ranch:child_spec(ListenerId, ranch_tcp, TransportOpts, Module, Opts),
81-
{ok, {#{strategy => one_for_one, intensity => 100, period => 1}, [Child]}}.
82-
8369
maybe_add_access_check(_, #{access := all}, _) ->
8470
ok;
8571
maybe_add_access_check(HostTypes, _, ListenerId) ->
@@ -88,14 +74,6 @@ maybe_add_access_check(HostTypes, _, ListenerId) ->
8874
|| HostType <- HostTypes ],
8975
gen_hook:add_handlers(AclHooks).
9076

91-
listener_child_spec(ListenerId, Opts) ->
92-
#{id => ListenerId,
93-
start => {?MODULE, start_link, [Opts]},
94-
restart => permanent,
95-
shutdown => infinity,
96-
type => supervisor,
97-
modules => [?MODULE]}.
98-
9977
prepare_socket_opts(#{port := Port,
10078
ip_version := IPVersion,
10179
ip_tuple := IPTuple,

src/component/mongoose_component.erl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
-module(mongoose_component).
2+
23
%% API
34
-export([has_component/1,
45
dirty_get_all_components/1,
@@ -11,7 +12,6 @@
1112
-export([node_cleanup/3]).
1213

1314
-include("mongoose.hrl").
14-
-include("jlib.hrl").
1515
-include("external_component.hrl").
1616

1717
-type domain() :: jid:server().

src/ejabberd_service.erl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -136,7 +136,7 @@ start(Socket, Opts) ->
136136

137137
-spec start_link(socket(), options()) -> ignore | {error, _} | {ok, pid()}.
138138
start_link(SockData, Opts) ->
139-
p1_fsm:start_link(ejabberd_service, [SockData, Opts],
139+
p1_fsm:start_link(?MODULE, [SockData, Opts],
140140
fsm_limit_opts(Opts) ++ ?FSMOPTS).
141141

142142
-spec start_listener(options()) -> ok.

src/ejabberd_sm.erl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -336,7 +336,7 @@ get_vh_session_list(Server) ->
336336
-spec get_node_sessions_number() -> non_neg_integer().
337337
get_node_sessions_number() ->
338338
Children = supervisor:which_children(mongoose_listener_sup),
339-
Listeners = [Ref || {Ref, _, _, [mongoose_c2s_listener]} <- Children],
339+
Listeners = [Ref || {Ref, _, _, [mongoose_c2s_listener | _]} <- Children],
340340
lists:sum([maps:get(active_connections, ranch:info(Ref)) || Ref <- Listeners]).
341341

342342
-spec get_full_session_list() -> [session()].

src/ejabberd_sup.erl

Lines changed: 17 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@
3030

3131
-export([start_link/0, init/1]).
3232
-export([start_child/1, start_child/2, stop_child/1]).
33-
-export([create_ets_table/2]).
33+
-export([create_ets_table/2, template_supervisor_spec/2]).
3434

3535
-export([start_linked_child/2]).
3636
-ignore_xref([start_linked_child/2]).
@@ -56,17 +56,17 @@ init([]) ->
5656
ShaperSup = mongoose_shaper:child_spec(),
5757
DomainSup = supervisor_spec(mongoose_domain_sup),
5858
ReceiverSupervisor =
59-
ejabberd_tmp_sup_spec(mongoose_transport_sup, [mongoose_transport_sup, mongoose_transport]),
59+
template_supervisor_spec(mongoose_transport_sup, mongoose_transport),
6060
C2SSupervisor =
61-
ejabberd_tmp_sup_spec(mongoose_c2s_sup, [mongoose_c2s_sup, mongoose_c2s]),
61+
template_supervisor_spec(mongoose_c2s_sup, mongoose_c2s),
6262
S2SInSupervisor =
63-
ejabberd_tmp_sup_spec(ejabberd_s2s_in_sup, [ejabberd_s2s_in_sup, ejabberd_s2s_in]),
63+
template_supervisor_spec(ejabberd_s2s_in_sup, ejabberd_s2s_in),
6464
S2SOutSupervisor =
65-
ejabberd_tmp_sup_spec(ejabberd_s2s_out_sup, [ejabberd_s2s_out_sup, ejabberd_s2s_out]),
65+
template_supervisor_spec(ejabberd_s2s_out_sup, ejabberd_s2s_out),
6666
ServiceSupervisor =
67-
ejabberd_tmp_sup_spec(ejabberd_service_sup, [ejabberd_service_sup, ejabberd_service]),
67+
template_supervisor_spec(ejabberd_service_sup, ejabberd_service),
6868
IQSupervisor =
69-
ejabberd_tmp_sup_spec(ejabberd_iq_sup, [ejabberd_iq_sup, mongoose_iq_worker]),
69+
template_supervisor_spec(ejabberd_iq_sup, mongoose_iq_worker),
7070
{ok, {{one_for_one, 10, 1},
7171
[StartIdServer,
7272
PG,
@@ -112,10 +112,16 @@ stop_child(Proc) ->
112112
supervisor:delete_child(ejabberd_sup, Proc),
113113
ok.
114114

115-
ejabberd_tmp_sup_spec(Name, Args) ->
116-
{Name,
117-
{ejabberd_tmp_sup, start_link, Args},
118-
permanent, infinity, supervisor, [ejabberd_tmp_sup]}.
115+
-spec template_supervisor_spec(atom(), module()) -> supervisor:child_spec().
116+
template_supervisor_spec(Name, Module) ->
117+
#{
118+
id => Name,
119+
start => {mongoose_template_sup, start_link, [Name, Module]},
120+
restart => permanent,
121+
shutdown => infinity,
122+
type => supervisor,
123+
modules => [mongoose_template_sup]
124+
}.
119125

120126
supervisor_spec(Mod) ->
121127
{Mod, {Mod, start_link, []}, permanent, infinity, supervisor, [Mod]}.

src/ejabberd_tmp_sup.erl

Lines changed: 0 additions & 40 deletions
This file was deleted.

src/jlib.erl

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -63,9 +63,8 @@
6363
-include("mongoose_rsm.hrl").
6464

6565
%% Stream types defined in exml/include/exml_stream.hrl
66-
-type xmlstreamstart() :: #xmlstreamstart{}.
67-
-type xmlstreamend() :: #xmlstreamend{}.
68-
-type xmlstreamel() :: exml:element() | xmlstreamstart() | xmlstreamend().
66+
-type xmlstreamerror() :: #xmlstreamerror{}.
67+
-type xmlstreamel() :: exml:element() | exml_stream:start() | exml_stream:stop() | xmlstreamerror().
6968

7069
-type xmlcdata() :: #xmlcdata{}.
7170

@@ -79,7 +78,7 @@
7978
%% Copied from calendar:rfc3339_string() (because it is not exported)
8079
-type rfc3339_string() :: [byte(), ...].
8180

82-
-export_type([xmlstreamstart/0, xmlstreamend/0, xmlstreamel/0,
81+
-export_type([xmlstreamel/0, xmlstreamerror/0,
8382
rsm_in/0, rsm_out/0,
8483
xmlcdata/0,
8584
xmlch/0,
File renamed without changes.

0 commit comments

Comments
 (0)