diff options
author | Maxim Ignatenko <gelraen.ua@gmail.com> | 2011-09-21 10:25:32 +0300 |
---|---|---|
committer | Maxim Ignatenko <gelraen.ua@gmail.com> | 2011-09-26 11:16:29 +0300 |
commit | 499b884c67feb937a90fcb625c4273d4ea8ffb21 (patch) | |
tree | 8496dd0a9d1e2bc83c8d5ababe00655c12d1efcb /src | |
parent | Fix 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.erl | 8 | ||||
-rw-r--r-- | 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(), |