Verifies the integrety of the projects, as builds are executed immediately after a code change was detected. This plan provides no artifiacts (use a nightly build instead).

Build: #2370 was successful Changes by daryl herzmann <akrherz@iastate.edu>

Build result summary

Details

Completed
Queue duration
< 1 second
Duration
5 minutes
Labels
None
Agent
Default Agent
Revision
7c563f57b188df71db5e67fcc857821470d73439
Total tests
684
Successful since
#2354 ()

Tests

Code commits

Author Commit Message Commit date
daryl herzmann <akrherz@iastate.edu> daryl herzmann <akrherz@iastate.edu> 7c563f57b188df71db5e67fcc857821470d73439 Merge pull request #2169 from guusdk/OF-2566_StreamManagement-resumption-for-websockets
Refactor WebSocket implementation
Guus der Kinderen Guus der Kinderen e111c7d063151557245346925a335d939972e9bc m OF-2566: Revoke workaround for OF-2473
With the refactoring of the websocket implementation in the previous commit, the workaround that addressed the threading issue (OF-2473) does no longer seem to be needed. I've executed the Tsung-based reproduction from that issue on the new code repeatedly, without reproducing the issue. This commit removes the work-around.
Guus der Kinderen Guus der Kinderen 230762cb7e878ae4a303ffb76ca743d883c24bfb m OF-2566: Refactor WebSockets to reinstate Stream Management
With OF-963, the 'resume' feature of Stream Management (XEP-0198) was disabled, as it was buggy. The purpose of this commit is to reinstate this feature.

To do this, the implementation of WebSockets has been refactored to more closely resemble the implementation of the standard (socket/NIO-based) client
connection handling. It does so by introducing a `WebSocketClientConnectionHandler` and a `WebSocketClientStanzaHandler` that mimics the application of
`ClientConnectionHandler` and `ClientStanzaHandler` respectively, used for NIO/TCP sockets.

The motivation to make the WebSocket handling more similar to that of NIO/TCP sockets is two-fold:
- the latter is does not suffer from the Stream Management issue - it apparently does something better.
- maintenance of the code will be simplified, by having the same approach being re-used.
Guus der Kinderen Guus der Kinderen 08220e8cfe4d118ad054b79ab733c7b3b21136e7 m Refactor StanzaHandler: introduce StreamErrorException
When validating a stream that is being set up, using a dedicated Exception instead of booleans will improve readability of the code, and will make it easier to extend the class.

This commit introduces a StreamErrorException and uses that when validating a new stream.

No functional changes are intended to be introduced by this commit.

Jira issues

IssueDescriptionStatus
Unknown Issue TypeOF-963Could not obtain issue details from Jira
Unknown Issue TypeOF-2473Could not obtain issue details from Jira
Unknown Issue TypeOF-2566Could not obtain issue details from Jira
Unknown Issue TypeXEP-0198Could not obtain issue details from Jira