aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMaxim Ignatenko <gelraen.ua@gmail.com>2011-09-21 10:25:32 +0300
committerMaxim Ignatenko <gelraen.ua@gmail.com>2011-09-26 11:16:29 +0300
commit499b884c67feb937a90fcb625c4273d4ea8ffb21 (patch)
tree8496dd0a9d1e2bc83c8d5ababe00655c12d1efcb /src
parentFix voice request/approvement detection and extract_jid_from_voice_approvement/1 (diff)
Use treap for keeping last voice request timestamps
Diffstat (limited to 'src')
-rw-r--r--src/mod_muc/mod_muc_room.erl8
-rw-r--r--src/mod_muc/mod_muc_room.hrl2
2 files changed, 5 insertions, 5 deletions
diff --git a/src/mod_muc/mod_muc_room.erl b/src/mod_muc/mod_muc_room.erl
index 1d3601468..75cff1637 100644
--- a/src/mod_muc/mod_muc_room.erl
+++ b/src/mod_muc/mod_muc_room.erl
@@ -1548,7 +1548,7 @@ remove_online_user(JID, StateData, Reason) ->
error ->
StateData#state.nicks
end,
- LastTimes = ?DICT:erase(jlib:jid_remove_resource(LJID),
+ LastTimes = treap:delete(jlib:jid_remove_resource(LJID),
StateData#state.last_voice_request_time),
StateData#state{users = Users, nicks = Nicks,
last_voice_request_time = LastTimes}.
@@ -3850,15 +3850,15 @@ extract_jid_from_voice_approvement(Els) ->
end, {error, jid_not_found}, Els).
last_voice_request_time(BareJID, StateData) ->
- case ?DICT:find(BareJID, StateData#state.last_voice_request_time) of
- {ok, Value} ->
+ case treap:lookup(BareJID, StateData#state.last_voice_request_time) of
+ {ok, _, Value} ->
Value;
error ->
{0, 0, 0}
end.
update_voice_request_time(BareJID, StateData) ->
- NewDict = ?DICT:store(BareJID, erlang:now(), StateData#state.last_voice_request_time),
+ NewDict = treap:insert(BareJID, {0, 0}, erlang:now(), StateData#state.last_voice_request_time),
StateData#state{last_voice_request_time = NewDict}.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
diff --git a/src/mod_muc/mod_muc_room.hrl b/src/mod_muc/mod_muc_room.hrl
index edfa3f410..b0cbc43c2 100644
--- a/src/mod_muc/mod_muc_room.hrl
+++ b/src/mod_muc/mod_muc_room.hrl
@@ -71,7 +71,7 @@
jid,
config = #config{},
users = ?DICT:new(),
- last_voice_request_time = ?DICT:new(),
+ last_voice_request_time = treap:empty(),
robots = ?DICT:new(),
nicks = ?DICT:new(),
affiliations = ?DICT:new(),