From 38c02b44b98679b88fe81e52f7ac5d160742f0e9 Mon Sep 17 00:00:00 2001 From: zzz <zzz@mail.i2p> Date: Thu, 19 Dec 2013 12:24:51 +0000 Subject: [PATCH] Streaming: final, volatile, logging --- .../net/i2p/client/streaming/ConnectionHandler.java | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/apps/streaming/java/src/net/i2p/client/streaming/ConnectionHandler.java b/apps/streaming/java/src/net/i2p/client/streaming/ConnectionHandler.java index 2758735b99..c7cfed88ad 100644 --- a/apps/streaming/java/src/net/i2p/client/streaming/ConnectionHandler.java +++ b/apps/streaming/java/src/net/i2p/client/streaming/ConnectionHandler.java @@ -21,7 +21,7 @@ class ConnectionHandler { private final Log _log; private final ConnectionManager _manager; private final LinkedBlockingQueue<Packet> _synQueue; - private boolean _active; + private volatile boolean _active; private int _acceptTimeout; /** max time after receiveNewSyn() and before the matched accept() */ @@ -230,7 +230,8 @@ class ConnectionHandler { } private class TimeoutSyn implements SimpleTimer.TimedEvent { - private Packet _synPacket; + private final Packet _synPacket; + public TimeoutSyn(Packet packet) { _synPacket = packet; } @@ -239,12 +240,15 @@ class ConnectionHandler { boolean removed = _synQueue.remove(_synPacket); if (removed) { - if (_synPacket.isFlagSet(Packet.FLAG_SYNCHRONIZE)) + if (_synPacket.isFlagSet(Packet.FLAG_SYNCHRONIZE)) { + if (_log.shouldLog(Log.WARN)) + _log.warn("Expired on the SYN queue: " + _synPacket); // timeout - send RST sendReset(_synPacket); - else + } else { // non-syn packet got stranded on the syn queue, send it to the con reReceivePacket(_synPacket); + } } else { // handled. noop } -- GitLab