diff --git a/src/mod_mam.erl b/src/mod_mam.erl index 693889c2c..7d9e308f5 100644 --- a/src/mod_mam.erl +++ b/src/mod_mam.erl @@ -89,7 +89,18 @@ {[{binary(), non_neg_integer(), xmlel()}], boolean(), count()} | {error, db_failure}. --optional_callbacks([use_cache/1, cache_nodes/1, select_with_mucsub/6, select/6, select/7]). +-callback delete_old_messages_batch(binary(), erlang:timestamp(), + all | chat | groupchat, + pos_integer()) -> + {ok, non_neg_integer()} | {error, term()}. + +-callback delete_old_messages_batch(binary(), erlang:timestamp(), + all | chat | groupchat, + pos_integer(), any()) -> + {ok, any(), non_neg_integer()} | {error, term()}. + +-optional_callbacks([use_cache/1, cache_nodes/1, select_with_mucsub/6, select/6, select/7, + delete_old_messages_batch/5, delete_old_messages_batch/4]). %%%=================================================================== %%% API diff --git a/src/mod_offline.erl b/src/mod_offline.erl index 77610f5a7..9e7e3dffe 100644 --- a/src/mod_offline.erl +++ b/src/mod_offline.erl @@ -106,9 +106,14 @@ -callback count_messages(binary(), binary()) -> {ets_cache:tag(), non_neg_integer()}. -callback use_cache(binary()) -> boolean(). -callback cache_nodes(binary()) -> [node()]. +-callback remove_old_messages_batch(binary(), non_neg_integer(), pos_integer()) -> + {ok, non_neg_integer()} | {error, term()}. +-callback remove_old_messages_batch(binary(), non_neg_integer(), pos_integer(), any()) -> + {ok, any(), non_neg_integer()} | {error, term()}. -optional_callbacks([remove_expired_messages/1, remove_old_messages/2, - use_cache/1, cache_nodes/1]). + use_cache/1, cache_nodes/1, remove_old_messages_batch/3, + remove_old_messages_batch/4]). depends(_Host, _Opts) -> [].