diff options
author | Paweł Chmielowski <pchmielowski@process-one.net> | 2020-03-17 14:35:43 +0100 |
---|---|---|
committer | Paweł Chmielowski <pchmielowski@process-one.net> | 2020-03-17 14:35:43 +0100 |
commit | d8899ca9acc7e2b198d1c03f9534ca46b4f524b2 (patch) | |
tree | 5e88d10009b5b5b5d528577c8ac04e4234c61f75 /src/mod_shared_roster_opt.erl | |
parent | Fix issue with family field on cockroachdb (diff) |
Add cache to mod_shared_roster
This should help with excessive queries that sql backend generates
Should fix issue #3158.
Diffstat (limited to 'src/mod_shared_roster_opt.erl')
-rw-r--r-- | src/mod_shared_roster_opt.erl | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/src/mod_shared_roster_opt.erl b/src/mod_shared_roster_opt.erl index d0d2aaac..825196e2 100644 --- a/src/mod_shared_roster_opt.erl +++ b/src/mod_shared_roster_opt.erl @@ -3,7 +3,29 @@ -module(mod_shared_roster_opt). +-export([cache_life_time/1]). +-export([cache_missed/1]). +-export([cache_size/1]). -export([db_type/1]). +-export([use_cache/1]). + +-spec cache_life_time(gen_mod:opts() | global | binary()) -> 'infinity' | pos_integer(). +cache_life_time(Opts) when is_map(Opts) -> + gen_mod:get_opt(cache_life_time, Opts); +cache_life_time(Host) -> + gen_mod:get_module_opt(Host, mod_shared_roster, cache_life_time). + +-spec cache_missed(gen_mod:opts() | global | binary()) -> boolean(). +cache_missed(Opts) when is_map(Opts) -> + gen_mod:get_opt(cache_missed, Opts); +cache_missed(Host) -> + gen_mod:get_module_opt(Host, mod_shared_roster, cache_missed). + +-spec cache_size(gen_mod:opts() | global | binary()) -> 'infinity' | pos_integer(). +cache_size(Opts) when is_map(Opts) -> + gen_mod:get_opt(cache_size, Opts); +cache_size(Host) -> + gen_mod:get_module_opt(Host, mod_shared_roster, cache_size). -spec db_type(gen_mod:opts() | global | binary()) -> atom(). db_type(Opts) when is_map(Opts) -> @@ -11,3 +33,9 @@ db_type(Opts) when is_map(Opts) -> db_type(Host) -> gen_mod:get_module_opt(Host, mod_shared_roster, db_type). +-spec use_cache(gen_mod:opts() | global | binary()) -> boolean(). +use_cache(Opts) when is_map(Opts) -> + gen_mod:get_opt(use_cache, Opts); +use_cache(Host) -> + gen_mod:get_module_opt(Host, mod_shared_roster, use_cache). + |