• Dave Cridland's avatar
    OF-1402 XEP-0198 resumption (#872) · 6286c4ac
    Dave Cridland authored
    * WIP: XEP-0198 Stream Resumption
    
    This patch implements a first cut of XEP-0198
    Stream Resumption for TCP and WebSockets.
    
    This appears to work on (very) basic testing, but
    the code is very likely to run into problems with
    existing code assuming that LocalSession.getConnection()
    never returns null, and similar issues.
    
    This is likely to generate unexpected (and
    possibly unhandled) NPEs.
    
    The basic premise to the design is that
    StanzaHandlers (or similar) and Connections
    from the new session are re-pointed to the old
    session. The old session lives on in limbo with its
    conn field set to null during detachment.
    
    I strongly suspect that bits are missing from this,
    but so far...
    
    * Fix CR/LF
    
    * WIP
    
    * WIP
    
    * Close detached 198 sessions after timeout
    
    Also:
    * Quick audit of LocalSession.getConnection
    * Add in guard code for LocalSession.getConnection
    
    * CRLF
    
    * CRLF
    6286c4ac
StanzaHandler.java 31.6 KB