forked from I2P_Developers/i2p.i2p
Remove ConnectionManager ref from PacketQueue
This commit is contained in:
@ -873,6 +873,9 @@ class Connection {
|
|||||||
*/
|
*/
|
||||||
public void setOptions(ConnectionOptions opts) { _options = opts; }
|
public void setOptions(ConnectionOptions opts) { _options = opts; }
|
||||||
|
|
||||||
|
/** @since 0.9.21 */
|
||||||
|
public ConnectionManager getConnectionManager() { return _connectionManager; }
|
||||||
|
|
||||||
public I2PSession getSession() { return _connectionManager.getSession(); }
|
public I2PSession getSession() { return _connectionManager.getSession(); }
|
||||||
public I2PSocketFull getSocket() { return _socket; }
|
public I2PSocketFull getSocket() { return _socket; }
|
||||||
public void setSocket(I2PSocketFull socket) { _socket = socket; }
|
public void setSocket(I2PSocketFull socket) { _socket = socket; }
|
||||||
|
@ -88,7 +88,7 @@ class ConnectionManager {
|
|||||||
// As of 0.9.1, listen on configured port (default 0 = all)
|
// As of 0.9.1, listen on configured port (default 0 = all)
|
||||||
int protocol = defaultOptions.getEnforceProtocol() ? I2PSession.PROTO_STREAMING : I2PSession.PROTO_ANY;
|
int protocol = defaultOptions.getEnforceProtocol() ? I2PSession.PROTO_STREAMING : I2PSession.PROTO_ANY;
|
||||||
_session.addMuxedSessionListener(_messageHandler, protocol, defaultOptions.getLocalPort());
|
_session.addMuxedSessionListener(_messageHandler, protocol, defaultOptions.getLocalPort());
|
||||||
_outboundQueue = new PacketQueue(_context, _session, this);
|
_outboundQueue = new PacketQueue(_context, _session);
|
||||||
_recentlyClosed = new LHMCache<Long, Object>(32);
|
_recentlyClosed = new LHMCache<Long, Object>(32);
|
||||||
/** Socket timeout for accept() */
|
/** Socket timeout for accept() */
|
||||||
_soTimeout = -1;
|
_soTimeout = -1;
|
||||||
|
@ -29,7 +29,6 @@ class PacketQueue implements SendMessageStatusListener {
|
|||||||
private final I2PAppContext _context;
|
private final I2PAppContext _context;
|
||||||
private final Log _log;
|
private final Log _log;
|
||||||
private final I2PSession _session;
|
private final I2PSession _session;
|
||||||
private final ConnectionManager _connectionManager;
|
|
||||||
private final ByteCache _cache = ByteCache.getInstance(64, 36*1024);
|
private final ByteCache _cache = ByteCache.getInstance(64, 36*1024);
|
||||||
private final Map<Long, Connection> _messageStatusMap;
|
private final Map<Long, Connection> _messageStatusMap;
|
||||||
private volatile boolean _dead;
|
private volatile boolean _dead;
|
||||||
@ -46,10 +45,9 @@ class PacketQueue implements SendMessageStatusListener {
|
|||||||
private static final long REMOVE_EXPIRED_TIME = 67*1000;
|
private static final long REMOVE_EXPIRED_TIME = 67*1000;
|
||||||
private static final boolean ENABLE_STATUS_LISTEN = true;
|
private static final boolean ENABLE_STATUS_LISTEN = true;
|
||||||
|
|
||||||
public PacketQueue(I2PAppContext context, I2PSession session, ConnectionManager mgr) {
|
public PacketQueue(I2PAppContext context, I2PSession session) {
|
||||||
_context = context;
|
_context = context;
|
||||||
_session = session;
|
_session = session;
|
||||||
_connectionManager = mgr;
|
|
||||||
_log = context.logManager().getLog(PacketQueue.class);
|
_log = context.logManager().getLog(PacketQueue.class);
|
||||||
_messageStatusMap = new ConcurrentHashMap<Long, Connection>(16);
|
_messageStatusMap = new ConcurrentHashMap<Long, Connection>(16);
|
||||||
new RemoveExpired();
|
new RemoveExpired();
|
||||||
@ -213,8 +211,10 @@ class PacketQueue implements SendMessageStatusListener {
|
|||||||
_log.debug(msg);
|
_log.debug(msg);
|
||||||
}
|
}
|
||||||
Connection c = packet.getConnection();
|
Connection c = packet.getConnection();
|
||||||
String suffix = (c != null ? "wsize " + c.getOptions().getWindowSize() + " rto " + c.getOptions().getRTO() : null);
|
if (c != null) {
|
||||||
_connectionManager.getPacketHandler().displayPacket(packet, "SEND", suffix);
|
String suffix = "wsize " + c.getOptions().getWindowSize() + " rto " + c.getOptions().getRTO();
|
||||||
|
c.getConnectionManager().getPacketHandler().displayPacket(packet, "SEND", suffix);
|
||||||
|
}
|
||||||
if (I2PSocketManagerFull.pcapWriter != null &&
|
if (I2PSocketManagerFull.pcapWriter != null &&
|
||||||
_context.getBooleanProperty(I2PSocketManagerFull.PROP_PCAP))
|
_context.getBooleanProperty(I2PSocketManagerFull.PROP_PCAP))
|
||||||
packet.logTCPDump();
|
packet.logTCPDump();
|
||||||
|
Reference in New Issue
Block a user