Go to file
Florian Schmaus 96bb37f924 Fix counting bug Stream Management implementation
Previously Smack would put messages in the unacknowledgedStanzas queue
after it received the 'enabled' element, when it should do so right
after sending the 'enable' stream element.

Imagine a session where '-->' denotes "received from server" and '<--'
"sent to server"

<-- enable
--> iq roster push set
--> presence some presence
<-- iq roster push result
--> enabled

then Smack would not add the iq roster push result stanza to the
unacknowledgedStanzas queue.

This fixes the issue by initializing the unacknowledgedStanzas queue
when the writer thread encounters a 'Enable' stream element.

The additional 'instanceof' invocation in the writer thread should not
be a big performance issue, since the existing "instanceof Stanza" check
should be the common case and the "instanceof Enable" is an exclusive
alternative to this case.
2015-03-02 16:17:47 +01:00
config Enable more 'checkstyle' checks 2014-08-15 23:17:45 +02:00
documentation Rename PacketFilter (and implementing classes) and PacketExtension 2015-02-28 13:49:38 +01:00
resources Add Smack 4.0.7 Changelog 2015-02-20 09:39:24 +01:00
smack-android Filter smack-bosh from smack-android dependencies 2015-02-19 13:20:58 +01:00
smack-android-extensions Don't use synchonrizedMap() for INSTANCES 2014-12-27 20:55:30 +01:00
smack-bosh Rename PacketListener to StanzaListener 2015-03-02 15:49:56 +01:00
smack-compression-jzlib Fix dependency version specification 2015-02-19 14:28:46 +01:00
smack-core Fix incoming file transfers 2015-03-02 15:56:26 +01:00
smack-debug Rename PacketListener to StanzaListener 2015-03-02 15:49:56 +01:00
smack-debug-slf4j Rename PacketListener to StanzaListener 2015-03-02 15:49:56 +01:00
smack-experimental Rename PacketListener to StanzaListener 2015-03-02 15:49:56 +01:00
smack-extensions Fix incoming file transfers 2015-03-02 15:56:26 +01:00
smack-im Rename PacketListener to StanzaListener 2015-03-02 15:49:56 +01:00
smack-java7 Set IDNA Transformer in smack-java7 initializer 2015-01-21 09:50:50 +01:00
smack-jingle-old Rename PacketListener to StanzaListener 2015-03-02 15:49:56 +01:00
smack-legacy Rename PacketListener to StanzaListener 2015-03-02 15:49:56 +01:00
smack-resolver-dnsjava Fix dependency version specification 2015-02-19 14:28:46 +01:00
smack-resolver-javax Enable OSGi compliance via 'DynamicImport-Package: *' 2015-01-03 13:14:02 +01:00
smack-resolver-minidns Fix dependency version specification 2015-02-19 14:28:46 +01:00
smack-sasl-javax Enable OSGi compliance via 'DynamicImport-Package: *' 2015-01-03 13:14:02 +01:00
smack-sasl-provided Fix SASL EXTERNAL with client cert provided JID 2015-01-13 13:31:30 +01:00
smack-tcp Fix counting bug Stream Management implementation 2015-03-02 16:17:47 +01:00
.gitignore Re-implementing the vCard provider using a pull parser. Extended unit tests. 2015-02-09 07:35:15 +01:00
.travis.yml Travis CI: Use Android builder 2014-10-08 16:01:19 +02:00
LICENSE Add LICENSE 2014-12-27 13:36:27 +01:00
README.md Fix typos in README.md 2014-10-19 11:51:53 +02:00
build.gradle Add StanzaIdFilter, deprecate PacketIDFilter 2015-02-19 16:07:42 +01:00
settings.gradle Set "rootProject.name = 'Smack'" in settings.gradle 2015-02-23 13:58:51 +01:00
version.gradle Samck 4.1.0-rc3-SNAPSHOT 2015-02-21 17:20:52 +01:00

README.md

Smack

Build Status Project Stats Flattr this git repo

About

Smack is an Open Source, cross-platform, easy to use Java XMPP client library.

Smack is an Open Source XMPP (Jabber) client library for instant messaging and presence. A pure Java library, it can be embedded into your applications to create anything from a full XMPP client to simple XMPP integrations such as sending notification messages and presence-enabling devices.

Confused? Have a look at the Overview.

Smack - an Ignite Realtime community project.

Bug Reporting

Only a few users have access for for filling bugs in the tracker. New users should:

  1. Create a forums account (only e-mail is a requirement, you can skip all the other fields).
  2. Login to the forum account
  3. Press New in your toolbar and choose Discussion
  4. Choose the Smack Developers Forum of Smack and add the tag 'bug_report' to your new post

Please search for your issues in the bug tracker before reporting.

Contact

The developers hang around in #smack (freenode, IRC) and open_chat@conference.igniterealtime.org (XMPP MUC room). Remember that it may take some time (~hours) to get a response.

You can also reach us via the Smack Users Forum if you have questions or need support, or the Smack Developers Forum if you want to discuss Smack development.

Resources

Donate

If you find Smack useful and feel like donating, then you can use one of the following systems:

Ignite Realtime

Ignite Realtime is an Open Source community composed of end-users and developers around the world who are interested in applying innovative, open-standards-based Real Time Collaboration to their businesses and organizations. We're aimed at disrupting proprietary, non-open standards-based systems and invite you to participate in what's already one of the biggest and most active Open Source communities.