Build: #45 was successful Changes by Georg Lukas and Florian Schmaus

Build result summary

Details

Completed
Duration
3 minutes
Labels
None
Agent
Default Agent
Revision
e5bbd19ef11e4111d8927f44be5061e765975962 e5bbd19ef11e4111d8927f44be5061e765975962
Total tests
583
Successful since
#43 ()

Code commits

Author Commit Message Commit date
Florian Schmaus Florian Schmaus 5da6dea138cf57a96e6bd4d9298fdb497be5b64a 5da6dea138cf57a96e6bd4d9298fdb497be5b64a Throw exception to reduce call sites of notifyConnectionError()
in XMPPTCPConnection.
Georg Lukas Georg Lukas e5bbd19ef11e4111d8927f44be5061e765975962 e5bbd19ef11e4111d8927f44be5061e765975962 StanzaDroppedListener for XEP-0198 resumption failures
If a stream resume fails, smack will re-send all queued stanzas after a
reconnect. However, it does not make sense to re-send them:

* IQs / IQ responses have probably timed out
* MUC messages and PMs will be rejected as you haven't rejoined yet
* regular messages should be amended with a <delay> element

This patch adds a StanzaDroppedListener interface to the
XMPPTCPConnection. If at least one StanzaDroppedListener is provided,
all queued messages will be drained into the StanzaDroppedListener(s).
Otherwise, the original behavior of attempting to transmit them will be
followed.

Discussion: https://discourse.igniterealtime.org/t/xep-0198-resume-failure-reconnect-resending-of-muc-messages/83510/3

Signed-off-by: Georg Lukas <georg@op-co.de>
Florian Schmaus Florian Schmaus 7d2c3ac9f9ca28b172b3acb41d95ba9aa2583a63 7d2c3ac9f9ca28b172b3acb41d95ba9aa2583a63 Do not call synchronized methods in reader/writer thread
This may cause deadlocks with a call to acquire(2) on the introduced
readerWriterSemaphore in initConnection(), which is also synchronized.
Florian Schmaus Florian Schmaus c4289b2c1819bd7b62dca9ed7743410b19665296 c4289b2c1819bd7b62dca9ed7743410b19665296 Add AbstractXMPPConnection.initState()
and init/reset the sychronization points there.

This method is called right at the beginning of connect() and at the
end of shutdown().
Florian Schmaus Florian Schmaus 7518bf9a25a8c8ac7e25fa5daff9d50ab4801bd7 7518bf9a25a8c8ac7e25fa5daff9d50ab4801bd7 Add descriptive text to StanzaError.toString()

Jira issues

IssueDescriptionStatus
Unknown Issue TypeSMACK-855Could not obtain issue details from Jira
Unknown Issue TypeSMACK-859Could not obtain issue details from Jira
Unknown Issue TypeXEP-0198Could not obtain issue details from Jira