aboutsummaryrefslogtreecommitdiff
path: root/src/mod_offline_riak.erl
diff options
context:
space:
mode:
Diffstat (limited to 'src/mod_offline_riak.erl')
-rw-r--r--src/mod_offline_riak.erl32
1 files changed, 6 insertions, 26 deletions
diff --git a/src/mod_offline_riak.erl b/src/mod_offline_riak.erl
index ffc1450aa..5d0fd1af8 100644
--- a/src/mod_offline_riak.erl
+++ b/src/mod_offline_riak.erl
@@ -26,7 +26,7 @@
-behaviour(mod_offline).
--export([init/2, store_messages/5, pop_messages/2, remove_expired_messages/1,
+-export([init/2, store_message/1, pop_messages/2, remove_expired_messages/1,
remove_old_messages/2, remove_user/2, read_message_headers/2,
read_message/3, remove_message/3, read_all_messages/2,
remove_all_messages/2, count_messages/2, import/1]).
@@ -40,31 +40,11 @@
init(_Host, _Opts) ->
ok.
-store_messages(Host, {User, _}, Msgs, Len, MaxOfflineMsgs) ->
- Count = if MaxOfflineMsgs =/= infinity ->
- Len + count_messages(User, Host);
- true -> 0
- end,
- if
- Count > MaxOfflineMsgs ->
- {atomic, discard};
- true ->
- try
- lists:foreach(
- fun(#offline_msg{us = US,
- packet = Pkt,
- timestamp = TS} = M) ->
- El = xmpp:encode(Pkt),
- ok = ejabberd_riak:put(
- M#offline_msg{packet = El},
- offline_msg_schema(),
- [{i, TS}, {'2i', [{<<"us">>, US}]}])
- end, Msgs),
- {atomic, ok}
- catch _:{badmatch, Err} ->
- {atomic, Err}
- end
- end.
+store_message(#offline_msg{us = US, packet = Pkt, timestamp = TS} = M) ->
+ El = xmpp:encode(Pkt),
+ ejabberd_riak:put(M#offline_msg{packet = El},
+ offline_msg_schema(),
+ [{i, TS}, {'2i', [{<<"us">>, US}]}]).
pop_messages(LUser, LServer) ->
case ejabberd_riak:get_by_index(offline_msg, offline_msg_schema(),