diff options
author | Evgeniy Khramtsov <ekhramtsov@process-one.net> | 2017-04-30 19:01:47 +0300 |
---|---|---|
committer | Evgeniy Khramtsov <ekhramtsov@process-one.net> | 2017-04-30 19:01:47 +0300 |
commit | fddd6110e00df12c99a20a2cc9d074f5f4f1f965 (patch) | |
tree | 366575b855f1b2013db7eeb02ecb213f81c98c1f /src/mod_carboncopy.erl | |
parent | 2b63d07329b2af63d63b14d237e63565f78e8018 (diff) |
Don't validate an option in gen_mod:get*opt() functions
The changes are very similar to those from previous commit:
* Now there is no need to pass validating function in
gen_mod:get_opt() and gen_mod:get_module_opt() functions,
because the modules' configuration keeps already validated values.
* New functions gen_mod:get_opt/2 and gen_mod:get_module_opt/3 are
introduced.
* Functions gen_mod:get_opt/4 and get_module_opt/5 are deprecated.
If the functions are still called, the "function" argument is
simply ignored.
* Validating callback Mod:listen_opt_type/1 is introduced to validate
listening options at startup.
Diffstat (limited to 'src/mod_carboncopy.erl')
-rw-r--r-- | src/mod_carboncopy.erl | 14 |
1 files changed, 6 insertions, 8 deletions
diff --git a/src/mod_carboncopy.erl b/src/mod_carboncopy.erl index 91c18aabf..0d036c8e9 100644 --- a/src/mod_carboncopy.erl +++ b/src/mod_carboncopy.erl @@ -61,7 +61,7 @@ is_carbon_copy(_) -> false. start(Host, Opts) -> - IQDisc = gen_mod:get_opt(iqdisc, Opts,fun gen_iq_handler:check_type/1, one_queue), + IQDisc = gen_mod:get_opt(iqdisc, Opts, one_queue), ejabberd_hooks:add(disco_local_features, Host, ?MODULE, disco_features, 50), Mod = gen_mod:ram_db_mod(Host, ?MODULE), init_cache(Mod, Host, Opts), @@ -95,9 +95,7 @@ reload(Host, NewOpts, OldOpts) -> false -> ok end, - case gen_mod:is_equal_opt(iqdisc, NewOpts, OldOpts, - fun gen_iq_handler:check_type/1, - one_queue) of + case gen_mod:is_equal_opt(iqdisc, NewOpts, OldOpts, one_queue) of {false, IQDisc, _} -> gen_iq_handler:add_iq_handler(ejabberd_sm, Host, ?NS_CARBONS_2, ?MODULE, iq_handler, IQDisc); @@ -331,13 +329,13 @@ init_cache(Mod, Host, Opts) -> -spec cache_opts(binary(), gen_mod:opts()) -> [proplists:property()]. cache_opts(Host, Opts) -> MaxSize = gen_mod:get_opt( - cache_size, Opts, mod_opt_type(cache_size), + cache_size, Opts, ejabberd_config:cache_size(Host)), CacheMissed = gen_mod:get_opt( - cache_missed, Opts, mod_opt_type(cache_missed), + cache_missed, Opts, ejabberd_config:cache_missed(Host)), LifeTime = case gen_mod:get_opt( - cache_life_time, Opts, mod_opt_type(cache_life_time), + cache_life_time, Opts, ejabberd_config:cache_life_time(Host)) of infinity -> infinity; I -> timer:seconds(I) @@ -350,7 +348,7 @@ use_cache(Mod, Host) -> true -> Mod:use_cache(Host); false -> gen_mod:get_module_opt( - Host, ?MODULE, use_cache, mod_opt_type(use_cache), + Host, ?MODULE, use_cache, ejabberd_config:use_cache(Host)) end. |