if (shutdownTimestamp + maxResumptionMillies > current) {
return false;
} else {
return true;
}
The returned values should be in inverse order.
Right, thanks for reporting SMACK-654.
In addition, other bug can be found in the methods which call to XMPPTCPConnection.getMaxSmResumptionTime(). If the client, or the server, have not set any resumption time this method returns the Integer.MAX_VALUE. Until here all is fine, but then in some pieces of code this value returned is incremented, provoking a overflow and getting negative values from this time
Good catch, logged as SMACK-653. Note that I expect scheduled thread pool executor's schedule to throw a IllegalArgumentException if 'delay < 0', which means addStanzaIdAcknowledgedListener will throw and the listener not being added at all.