From 570f8526b0af89bd1fabfb52ac266fc47c4b29e8 Mon Sep 17 00:00:00 2001 From: zzz <zzz@mail.i2p> Date: Sun, 30 Jun 2013 17:00:14 +0000 Subject: [PATCH] getSession() cannot be null --- .../src/net/i2p/i2ptunnel/I2PTunnelClientBase.java | 10 +++------- .../src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java | 2 +- .../net/i2p/client/streaming/I2PSocketManager.java | 4 ++++ .../i2p/client/streaming/I2PSocketManagerFull.java | 11 +++++++---- 4 files changed, 15 insertions(+), 12 deletions(-) diff --git a/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/I2PTunnelClientBase.java b/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/I2PTunnelClientBase.java index 24bc2d2f7e..0f52c8fbb1 100644 --- a/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/I2PTunnelClientBase.java +++ b/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/I2PTunnelClientBase.java @@ -255,9 +255,7 @@ public abstract class I2PTunnelClientBase extends I2PTunnelTask implements Runna newManager = true; } else { I2PSession sess = sockMgr.getSession(); - if (sess == null) { - newManager = true; - } else if (sess.isClosed() && + if (sess.isClosed() && Boolean.parseBoolean(getTunnel().getClientOptions().getProperty("i2cp.closeOnIdle")) && Boolean.parseBoolean(getTunnel().getClientOptions().getProperty("i2cp.newDestOnResume"))) { // build a new socket manager and a new dest if the session is closed. @@ -317,7 +315,7 @@ public abstract class I2PTunnelClientBase extends I2PTunnelTask implements Runna Log _log = tunnel.getContext().logManager().getLog(I2PTunnelClientBase.class); if (socketManager != null) { I2PSession s = socketManager.getSession(); - if ( (s == null) || (s.isClosed()) ) { + if (s.isClosed()) { if (_log.shouldLog(Log.INFO)) _log.info(tunnel.getClientOptions().getProperty("inbound.nickname") + ": Building a new socket manager since the old one closed [s=" + s + "]"); if (s != null) @@ -709,9 +707,7 @@ public abstract class I2PTunnelClientBase extends I2PTunnelTask implements Runna } if (!chained) { I2PSession session = sockMgr.getSession(); - if (session != null) { - getTunnel().removeSession(session); - } + getTunnel().removeSession(session); } // else the app chaining to this one closes it! } l.log("Stopping client " + toString()); diff --git a/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java b/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java index 3657851438..e0484ac7f7 100644 --- a/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java +++ b/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java @@ -922,7 +922,7 @@ public class I2PTunnelHTTPClient extends I2PTunnelHTTPClientBase implements Runn // use existing session to look up for efficiency verifySocketManager(); I2PSession sess = sockMgr.getSession(); - if(sess != null && !sess.isClosed()) { + if(!sess.isClosed()) { byte[] hData = Base32.decode(destination.substring(0, 52)); if(hData != null) { if(_log.shouldLog(Log.INFO)) { diff --git a/apps/ministreaming/java/src/net/i2p/client/streaming/I2PSocketManager.java b/apps/ministreaming/java/src/net/i2p/client/streaming/I2PSocketManager.java index eaa5b667f2..236a2b32cd 100644 --- a/apps/ministreaming/java/src/net/i2p/client/streaming/I2PSocketManager.java +++ b/apps/ministreaming/java/src/net/i2p/client/streaming/I2PSocketManager.java @@ -28,6 +28,10 @@ import net.i2p.data.Destination; * */ public interface I2PSocketManager { + + /** + * @return the session, non-null + */ public I2PSession getSession(); /** diff --git a/apps/streaming/java/src/net/i2p/client/streaming/I2PSocketManagerFull.java b/apps/streaming/java/src/net/i2p/client/streaming/I2PSocketManagerFull.java index ec0cd37814..768f59c938 100644 --- a/apps/streaming/java/src/net/i2p/client/streaming/I2PSocketManagerFull.java +++ b/apps/streaming/java/src/net/i2p/client/streaming/I2PSocketManagerFull.java @@ -65,10 +65,10 @@ public class I2PSocketManagerFull implements I2PSocketManager { * This is what I2PSocketManagerFactory.createManager() returns. * Direct instantiation by others is deprecated. * - * @param context - * @param session - * @param opts - * @param name + * @param context non-null + * @param session non-null + * @param opts may be null + * @param name non-null */ public I2PSocketManagerFull(I2PAppContext context, I2PSession session, Properties opts, String name) { _context = context; @@ -103,6 +103,9 @@ public class I2PSocketManagerFull implements I2PSocketManager { return curOpts; } + /** + * @return the session, non-null + */ public I2PSession getSession() { return _session; } -- GitLab