From 499b884c67feb937a90fcb625c4273d4ea8ffb21 Mon Sep 17 00:00:00 2001 From: Maxim Ignatenko Date: Wed, 21 Sep 2011 10:25:32 +0300 Subject: [PATCH] Use treap for keeping last voice request timestamps --- src/mod_muc/mod_muc_room.erl | 8 ++++---- src/mod_muc/mod_muc_room.hrl | 2 +- 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(),