From 657f13af29a0ad9d5578ac3befe4edb38858eb7c Mon Sep 17 00:00:00 2001 From: zzz <zzz@mail.i2p> Date: Wed, 3 Jun 2015 17:25:25 +0000 Subject: [PATCH] Remove ConnectionManager ref from PacketQueue --- .../src/net/i2p/client/streaming/impl/Connection.java | 3 +++ .../i2p/client/streaming/impl/ConnectionManager.java | 2 +- .../src/net/i2p/client/streaming/impl/PacketQueue.java | 10 +++++----- 3 files changed, 9 insertions(+), 6 deletions(-) diff --git a/apps/streaming/java/src/net/i2p/client/streaming/impl/Connection.java b/apps/streaming/java/src/net/i2p/client/streaming/impl/Connection.java index e25e4707cd..c3b63d756e 100644 --- a/apps/streaming/java/src/net/i2p/client/streaming/impl/Connection.java +++ b/apps/streaming/java/src/net/i2p/client/streaming/impl/Connection.java @@ -873,6 +873,9 @@ class Connection { */ public void setOptions(ConnectionOptions opts) { _options = opts; } + /** @since 0.9.21 */ + public ConnectionManager getConnectionManager() { return _connectionManager; } + public I2PSession getSession() { return _connectionManager.getSession(); } public I2PSocketFull getSocket() { return _socket; } public void setSocket(I2PSocketFull socket) { _socket = socket; } diff --git a/apps/streaming/java/src/net/i2p/client/streaming/impl/ConnectionManager.java b/apps/streaming/java/src/net/i2p/client/streaming/impl/ConnectionManager.java index 3c98089453..55d9522bf2 100644 --- a/apps/streaming/java/src/net/i2p/client/streaming/impl/ConnectionManager.java +++ b/apps/streaming/java/src/net/i2p/client/streaming/impl/ConnectionManager.java @@ -88,7 +88,7 @@ class ConnectionManager { // As of 0.9.1, listen on configured port (default 0 = all) int protocol = defaultOptions.getEnforceProtocol() ? I2PSession.PROTO_STREAMING : I2PSession.PROTO_ANY; _session.addMuxedSessionListener(_messageHandler, protocol, defaultOptions.getLocalPort()); - _outboundQueue = new PacketQueue(_context, _session, this); + _outboundQueue = new PacketQueue(_context, _session); _recentlyClosed = new LHMCache<Long, Object>(32); /** Socket timeout for accept() */ _soTimeout = -1; diff --git a/apps/streaming/java/src/net/i2p/client/streaming/impl/PacketQueue.java b/apps/streaming/java/src/net/i2p/client/streaming/impl/PacketQueue.java index 51b8baef73..b2558b1741 100644 --- a/apps/streaming/java/src/net/i2p/client/streaming/impl/PacketQueue.java +++ b/apps/streaming/java/src/net/i2p/client/streaming/impl/PacketQueue.java @@ -29,7 +29,6 @@ class PacketQueue implements SendMessageStatusListener { private final I2PAppContext _context; private final Log _log; private final I2PSession _session; - private final ConnectionManager _connectionManager; private final ByteCache _cache = ByteCache.getInstance(64, 36*1024); private final Map<Long, Connection> _messageStatusMap; private volatile boolean _dead; @@ -46,10 +45,9 @@ class PacketQueue implements SendMessageStatusListener { private static final long REMOVE_EXPIRED_TIME = 67*1000; private static final boolean ENABLE_STATUS_LISTEN = true; - public PacketQueue(I2PAppContext context, I2PSession session, ConnectionManager mgr) { + public PacketQueue(I2PAppContext context, I2PSession session) { _context = context; _session = session; - _connectionManager = mgr; _log = context.logManager().getLog(PacketQueue.class); _messageStatusMap = new ConcurrentHashMap<Long, Connection>(16); new RemoveExpired(); @@ -213,8 +211,10 @@ class PacketQueue implements SendMessageStatusListener { _log.debug(msg); } Connection c = packet.getConnection(); - String suffix = (c != null ? "wsize " + c.getOptions().getWindowSize() + " rto " + c.getOptions().getRTO() : null); - _connectionManager.getPacketHandler().displayPacket(packet, "SEND", suffix); + if (c != null) { + String suffix = "wsize " + c.getOptions().getWindowSize() + " rto " + c.getOptions().getRTO(); + c.getConnectionManager().getPacketHandler().displayPacket(packet, "SEND", suffix); + } if (I2PSocketManagerFull.pcapWriter != null && _context.getBooleanProperty(I2PSocketManagerFull.PROP_PCAP)) packet.logTCPDump(); -- GitLab