From: Paweł Chmielowski Date: Tue, 7 May 2019 07:58:14 +0000 (+0200) Subject: When applying limit of max msgs in spool check only spool size X-Git-Tag: 19.05~29^2~2 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=7d23cd28991c7e0a0aa3cd49047f07fa2ac1c566;p=ejabberd When applying limit of max msgs in spool check only spool size --- diff --git a/src/mod_offline.erl b/src/mod_offline.erl index 3e240dbfb..63a0d6763 100644 --- a/src/mod_offline.erl +++ b/src/mod_offline.erl @@ -195,7 +195,7 @@ store_offline_msg(#offline_msg{us = {User, Server}, packet = Pkt} = Msg) -> infinity -> Mod:store_message(Msg); Limit -> - Num = count_offline_messages(User, Server), + Num = count_messages_in_db(User, Server), if Num < Limit -> Mod:store_message(Msg); true -> @@ -1053,10 +1053,14 @@ count_offline_messages(User, Server) -> Res = read_db_messages(LUser, LServer), count_mam_messages(LUser, LServer, Res); _ -> - Mod = gen_mod:db_mod(LServer, ?MODULE), - Mod:count_messages(LUser, LServer) + count_messages_in_db(LUser, LServer) end. +-spec count_messages_in_db(binary(), binary()) -> non_neg_integer(). +count_messages_in_db(LUser, LServer) -> + Mod = gen_mod:db_mod(LServer, ?MODULE), + Mod:count_messages(LUser, LServer). + -spec add_delay_info(message(), binary(), undefined | erlang:timestamp()) -> message(). add_delay_info(Packet, LServer, TS) ->