mirror of
https://github.com/processone/ejabberd.git
synced 2024-06-02 21:17:12 +02:00
Use treap for keeping last voice request timestamps
This commit is contained in:
parent
0c261fb903
commit
499b884c67
|
@ -1548,7 +1548,7 @@ remove_online_user(JID, StateData, Reason) ->
|
||||||
error ->
|
error ->
|
||||||
StateData#state.nicks
|
StateData#state.nicks
|
||||||
end,
|
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.last_voice_request_time),
|
||||||
StateData#state{users = Users, nicks = Nicks,
|
StateData#state{users = Users, nicks = Nicks,
|
||||||
last_voice_request_time = LastTimes}.
|
last_voice_request_time = LastTimes}.
|
||||||
|
@ -3850,15 +3850,15 @@ extract_jid_from_voice_approvement(Els) ->
|
||||||
end, {error, jid_not_found}, Els).
|
end, {error, jid_not_found}, Els).
|
||||||
|
|
||||||
last_voice_request_time(BareJID, StateData) ->
|
last_voice_request_time(BareJID, StateData) ->
|
||||||
case ?DICT:find(BareJID, StateData#state.last_voice_request_time) of
|
case treap:lookup(BareJID, StateData#state.last_voice_request_time) of
|
||||||
{ok, Value} ->
|
{ok, _, Value} ->
|
||||||
Value;
|
Value;
|
||||||
error ->
|
error ->
|
||||||
{0, 0, 0}
|
{0, 0, 0}
|
||||||
end.
|
end.
|
||||||
|
|
||||||
update_voice_request_time(BareJID, StateData) ->
|
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}.
|
StateData#state{last_voice_request_time = NewDict}.
|
||||||
|
|
||||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
|
|
@ -71,7 +71,7 @@
|
||||||
jid,
|
jid,
|
||||||
config = #config{},
|
config = #config{},
|
||||||
users = ?DICT:new(),
|
users = ?DICT:new(),
|
||||||
last_voice_request_time = ?DICT:new(),
|
last_voice_request_time = treap:empty(),
|
||||||
robots = ?DICT:new(),
|
robots = ?DICT:new(),
|
||||||
nicks = ?DICT:new(),
|
nicks = ?DICT:new(),
|
||||||
affiliations = ?DICT:new(),
|
affiliations = ?DICT:new(),
|
||||||
|
|
Loading…
Reference in New Issue
Block a user