Details
Description
René Treffer wrotes:
So here is what many users do:
1. Disable roster loading on login
2. getRoster
3. Iterate over all Entries
4. call getGroups on every Entry, thus reloading their roster multiple timesThis was made possible by the connection.roster -> connection.getRoster change. I actually think the getRoster logic is broken, as it should never reload the roster unless it need initialization (reload is getRoster().reload(), right?).
Issue Links
- is related to
-
SMACK-279
Create a abstract connection class to allow other implementations connecting to a XMPP server.
-
I'm not sure that the described scenario is widely-used and if we change the getRoster logic, we will break some applications or get problems with the reconnection logic. I think it was intended that the most users will iterate over all Roster#getGroups and RosterGroup#getEntries. But the described scenario is possible and produces too much traffic.