forked from I2P_Developers/i2p.i2p
- Prevent multiple calls or reentrancy in disconnect() (ticket #1041) - Implement processing of close to skip TIME-WAIT, and wait for all packets to be acked (not just the CLOSE) before doing so, if possible (ticket #1042) - Don't call disconnect() or disconnectComplete() from I2PSocketFull.destroy() so retransmissions and acks can still happen (removes some close loops) - Don't call disconnect() until we have both sent and received a CLOSE (ticket #1040) - Don't reset the connection from CPH just because we sent a CLOSE and it was acked (ticket #1040) - Ack packets even if we sent a CLOSE (ticket #1040) - Retransmit CLOSE if not acked (ticket #1040) - Send received packets to the MessageInputStream even if we haven't received a SYN - Don't call MessageInputStream.messageReceived() for ack-only packets, that was pointless - Don't send a RESET after timeout of an outbound connection - Work around bugs on other end by limiting retransmission of CLOSE packets - Make _isInbound final - More cleanups, javadocs, log tweaks