Offer an alternative to loading the Roster on login
Description
Currently, Smack requests the roster as part of the login() method. This often is convenient, but is annoying if a more light-weight connection is required.
We, for example, use Smack for automated tests which run frequently. Most of the tests have no need for the roster. Retrieving the roster for every login causes useless overhead for those tests.
An additional login() method that does not "pre-load" the roster would solve our issue. The roster should be loaded during the first call to getRoster() if it wasn't pre-loaded.
Environment
None
Attachments
2
Activity
Guus der Kinderen September 2, 2008 at 4:05 PM
Diego provided an additional patch that should be applied to the source code to which the previous patch has already been applied.
Guus der Kinderen September 2, 2008 at 4:02 PM
Diego found a problem in the modification that we did. The Roster object should always be initialized, no matter if we want to pre-load the roster or not. This sets a listener, that we need to have regardless of the preload boolean.
Guus der Kinderen August 29, 2008 at 7:39 PM
I'm attaching Diego's patch.
Diego H. Méndez August 29, 2008 at 7:34 PM
I've got a patch to fix this but I don't have enough rights to attach it to this issue.
Currently, Smack requests the roster as part of the
login()
method. This often is convenient, but is annoying if a more light-weight connection is required.We, for example, use Smack for automated tests which run frequently. Most of the tests have no need for the roster. Retrieving the roster for every login causes useless overhead for those tests.
An additional
login()
method that does not "pre-load" the roster would solve our issue. The roster should be loaded during the first call togetRoster()
if it wasn't pre-loaded.