aboutsummaryrefslogtreecommitdiff
path: root/src/mod_mix.erl
diff options
context:
space:
mode:
authorEvgeniy Khramtsov <ekhramtsov@process-one.net>2018-02-11 12:54:15 +0300
committerEvgeniy Khramtsov <ekhramtsov@process-one.net>2018-02-11 12:54:15 +0300
commit66fc1bf3b6cab63559fa58a086a1439ecdebfea7 (patch)
treecdc0ce2d21249f31060a1c302e4708abc507d10e /src/mod_mix.erl
parentBump xmpp version (diff)
Remove 'iqdisc' option
Since we got rid of all bottle-neck processes and we have a connection pool for every database, the option is no longer needed and in fact is detrimental: in practice what you get is just a bunch of overloaded processes in the IQ handlers pool no matter how much you increase the `iqdisc` value. Given that there are close to zero operators understanding the meaning of the option and, hence, not using it all, it's not simply deprecated but completely removed. The commit also deprecates the following functions: - gen_iq_handler:add_iq_handler/6 - gen_iq_handler:handle/5 - gen_iq_handler:iqdisc/1
Diffstat (limited to 'src/mod_mix.erl')
-rw-r--r--src/mod_mix.erl19
1 files changed, 8 insertions, 11 deletions
diff --git a/src/mod_mix.erl b/src/mod_mix.erl
index fc51a5a02..51464e63f 100644
--- a/src/mod_mix.erl
+++ b/src/mod_mix.erl
@@ -125,7 +125,6 @@ process_iq(#iq{lang = Lang} = IQ) ->
init([ServerHost, Opts]) ->
process_flag(trap_exit, true),
Hosts = gen_mod:get_opt_hosts(ServerHost, Opts),
- IQDisc = gen_mod:get_opt(iqdisc, Opts),
lists:foreach(
fun(Host) ->
ConfigTab = gen_mod:get_module_proc(Host, config),
@@ -140,20 +139,20 @@ init([ServerHost, Opts]) ->
ejabberd_hooks:add(disco_info, Host, ?MODULE, disco_info, 100),
gen_iq_handler:add_iq_handler(ejabberd_local, Host,
?NS_DISCO_ITEMS, mod_disco,
- process_local_iq_items, IQDisc),
+ process_local_iq_items),
gen_iq_handler:add_iq_handler(ejabberd_local, Host,
?NS_DISCO_INFO, mod_disco,
- process_local_iq_info, IQDisc),
+ process_local_iq_info),
gen_iq_handler:add_iq_handler(ejabberd_sm, Host,
?NS_DISCO_ITEMS, mod_disco,
- process_local_iq_items, IQDisc),
+ process_local_iq_items),
gen_iq_handler:add_iq_handler(ejabberd_sm, Host,
?NS_DISCO_INFO, mod_disco,
- process_local_iq_info, IQDisc),
+ process_local_iq_info),
gen_iq_handler:add_iq_handler(ejabberd_sm, Host,
- ?NS_PUBSUB, mod_pubsub, iq_sm, IQDisc),
+ ?NS_PUBSUB, mod_pubsub, iq_sm),
gen_iq_handler:add_iq_handler(ejabberd_sm, Host,
- ?NS_MIX_0, ?MODULE, process_iq, IQDisc),
+ ?NS_MIX_0, ?MODULE, process_iq),
ejabberd_router:register_route(Host, ServerHost)
end, Hosts),
{ok, #state{server_host = ServerHost, hosts = Hosts}}.
@@ -316,12 +315,10 @@ is_not_subscribed({error, StanzaError}) ->
depends(_Host, _Opts) ->
[{mod_pubsub, hard}].
-mod_opt_type(iqdisc) -> fun gen_iq_handler:check_type/1;
mod_opt_type(host) -> fun iolist_to_binary/1;
mod_opt_type(hosts) ->
fun (L) -> lists:map(fun iolist_to_binary/1, L) end.
-mod_options(Host) ->
- [{iqdisc, gen_iq_handler:iqdisc(Host)},
- {host, <<"mix.@HOST@">>},
+mod_options(_Host) ->
+ [{host, <<"mix.@HOST@">>},
{hosts, []}].