Improvement

Instead of traversing and constructing a new set,
share the set structure when constructing the pres_a
set.
This commit is contained in:
Pablo Polvorin 2012-11-09 16:58:47 -03:00
parent ac8c536b50
commit e521c8368a
1 changed files with 2 additions and 7 deletions

View File

@ -2390,13 +2390,8 @@ presence_broadcast_first(From, StateData, Packet) ->
JIDs2Probe = format_and_check_privacy(From, StateData, Packet, JIDsProbe, out),
Server = StateData#state.server,
send_multiple(From, Server, JIDs2Probe, PacketProbe),
{As, JIDs} =
?SETS:fold(
fun(JID, {A, JID_list}) ->
{?SETS:add_element(JID, A), JID_list++[JID]}
end,
{StateData#state.pres_a, []},
StateData#state.pres_f),
As = StateData#state.pres_f, %%Reuse existing structure, don't create a new one
JIDs = ?SETS:to_list(StateData#state.pres_f),
JIDs2 = format_and_check_privacy(From, StateData, Packet, JIDs, out),
Server = StateData#state.server,
send_multiple(From, Server, JIDs2, Packet),