Changeset eb5a23f


Ignore:
Timestamp:
Jun 28, 2013 12:17:19 PM (7 years ago)
Author:
zzz <zzz@…>
Branches:
master
Children:
726eb58
Parents:
d4c8e03
Message:

finals, remove static log

Location:
core/java/src/net/i2p/client
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • core/java/src/net/i2p/client/I2PSessionImpl.java

    rd4c8e03 reb5a23f  
    5959    protected final Log _log;
    6060    /** who we are */
    61     private Destination _myDestination;
     61    private final Destination _myDestination;
    6262    /** private key for decryption */
    63     private PrivateKey _privateKey;
     63    private final PrivateKey _privateKey;
    6464    /** private key for signing */
    65     private SigningPrivateKey _signingPrivateKey;
     65    private final SigningPrivateKey _signingPrivateKey;
    6666    /** configuration options */
    67     private Properties _options;
     67    private final Properties _options;
    6868    /** this session's Id */
    6969    private SessionId _sessionId;
     
    7272
    7373    /** hostname of router - will be null if in RouterContext */
    74     protected String _hostname;
     74    protected final String _hostname;
    7575    /** port num to router - will be 0 if in RouterContext */
    76     protected int _portNum;
     76    protected final int _portNum;
    7777    /** socket for comm */
    7878    protected Socket _socket;
     
    170170    private static final int BUF_SIZE = 32*1024;
    171171   
    172     /** for extension */
     172    /**
     173     * for extension by SimpleSession (no dest)
     174     */
    173175    protected I2PSessionImpl(I2PAppContext context, Properties options) {
     176        this(context, options, false);
     177    }
     178   
     179    /**
     180     * Basic setup of finals
     181     * @since 0.9.7
     182     */
     183    private I2PSessionImpl(I2PAppContext context, Properties options, boolean hasDest) {
    174184        _context = context;
    175185        _log = context.logManager().getLog(getClass());
     
    177187        if (options == null)
    178188            options = (Properties) System.getProperties().clone();
    179         loadConfig(options);
     189        _options = loadConfig(options);
     190        _hostname = getHost();
     191        _portNum = getPort();
    180192        _fastReceive = Boolean.parseBoolean(_options.getProperty(I2PClient.PROP_FAST_RECEIVE));
     193        if (hasDest) {
     194            _myDestination = new Destination();
     195            _privateKey = new PrivateKey();
     196            _signingPrivateKey = new SigningPrivateKey();
     197        } else {
     198            _myDestination = null;
     199            _privateKey = null;
     200            _signingPrivateKey = null;
     201        }
    181202    }
    182203
     
    191212     */
    192213    public I2PSessionImpl(I2PAppContext context, InputStream destKeyStream, Properties options) throws I2PSessionException {
    193         this(context, options);
     214        this(context, options, true);
    194215        _handlerMap = new I2PClientMessageHandlerMap(context);
    195216        _producer = new I2CPMessageProducer(context);
     
    209230     * Also fill in the authorization properties if missing.
    210231     */
    211     private void loadConfig(Properties options) {
    212         _options = new Properties();
    213         _options.putAll(filter(options));
    214         if (_context.isRouterContext()) {
    215             // just for logging
    216             _hostname = "[internal connection]";
    217         } else {
    218             _hostname = _options.getProperty(I2PClient.PROP_TCP_HOST, "127.0.0.1");
    219             String portNum = _options.getProperty(I2PClient.PROP_TCP_PORT, LISTEN_PORT + "");
    220             try {
    221                 _portNum = Integer.parseInt(portNum);
    222             } catch (NumberFormatException nfe) {
    223                 if (_log.shouldLog(Log.WARN))
    224                     _log.warn(getPrefix() + "Invalid port number specified, defaulting to "
    225                               + LISTEN_PORT, nfe);
    226                 _portNum = LISTEN_PORT;
    227             }
    228         }
     232    private final Properties loadConfig(Properties opts) {
     233        Properties options = new Properties();
     234        options.putAll(filter(opts));
    229235
    230236        // auto-add auth if required, not set in the options, and we are not in the same JVM
    231237        if ((!_context.isRouterContext()) &&
    232238            _context.getBooleanProperty("i2cp.auth") &&
    233             ((!options.containsKey("i2cp.username")) || (!options.containsKey("i2cp.password")))) {
     239            ((!opts.containsKey("i2cp.username")) || (!opts.containsKey("i2cp.password")))) {
    234240            String configUser = _context.getProperty("i2cp.username");
    235241            String configPW = _context.getProperty("i2cp.password");
    236242            if (configUser != null && configPW != null) {
    237                 _options.setProperty("i2cp.username", configUser);
    238                 _options.setProperty("i2cp.password", configPW);
    239             }
    240         }
    241         if (_options.getProperty(I2PClient.PROP_FAST_RECEIVE) == null)
    242             _options.setProperty(I2PClient.PROP_FAST_RECEIVE, "true");
    243         if (_options.getProperty(I2PClient.PROP_RELIABILITY) == null)
    244             _options.setProperty(I2PClient.PROP_RELIABILITY, "none");
     243                options.setProperty("i2cp.username", configUser);
     244                options.setProperty("i2cp.password", configPW);
     245            }
     246        }
     247        if (options.getProperty(I2PClient.PROP_FAST_RECEIVE) == null)
     248            options.setProperty(I2PClient.PROP_FAST_RECEIVE, "true");
     249        if (options.getProperty(I2PClient.PROP_RELIABILITY) == null)
     250            options.setProperty(I2PClient.PROP_RELIABILITY, "none");
     251        return options;
     252    }
     253
     254    /**
     255     * Get I2CP host from the config
     256     * @since 0.9.7 was in loadConfig()
     257     */
     258    private String getHost() {
     259        if (_context.isRouterContext())
     260            // just for logging
     261            return "[internal connection]";
     262        return _options.getProperty(I2PClient.PROP_TCP_HOST, "127.0.0.1");
     263    }
     264
     265    /**
     266     * Get I2CP port from the config
     267     * @since 0.9.7 was in loadConfig()
     268     */
     269    private int getPort() {
     270        if (_context.isRouterContext())
     271            // just for logging
     272            return 0;
     273        String portNum = _options.getProperty(I2PClient.PROP_TCP_PORT, LISTEN_PORT + "");
     274        try {
     275            return Integer.parseInt(portNum);
     276        } catch (NumberFormatException nfe) {
     277            if (_log.shouldLog(Log.WARN))
     278                _log.warn(getPrefix() + "Invalid port number specified, defaulting to "
     279                          + LISTEN_PORT, nfe);
     280            return LISTEN_PORT;
     281        }
    245282    }
    246283
     
    333370     */
    334371    private void readDestination(InputStream destKeyStream) throws DataFormatException, IOException {
    335         _myDestination = new Destination();
    336         _privateKey = new PrivateKey();
    337         _signingPrivateKey = new SigningPrivateKey();
    338372        _myDestination.readBytes(destKeyStream);
    339373        _privateKey.readBytes(destKeyStream);
  • core/java/src/net/i2p/client/SessionIdleTimer.java

    rd4c8e03 reb5a23f  
    2323    private static final long DEFAULT_REDUCE_TIME = 20*60*1000;
    2424    private static final long DEFAULT_CLOSE_TIME = 30*60*1000;
    25     private final static Log _log = new Log(SessionIdleTimer.class);
     25    private final Log _log;
    2626    private final I2PAppContext _context;
    2727    private final I2PSessionImpl _session;
    28     private boolean _reduceEnabled;
    29     private int _reduceQuantity;
    30     private long _reduceTime;
    31     private boolean _shutdownEnabled;
    32     private long _shutdownTime;
    33     private long _minimumTime;
     28    private final boolean _reduceEnabled;
     29    private final int _reduceQuantity;
     30    private final long _reduceTime;
     31    private final boolean _shutdownEnabled;
     32    private final long _shutdownTime;
     33    private final long _minimumTime;
    3434    private long _lastActive;
    3535
     
    3838     */
    3939    public SessionIdleTimer(I2PAppContext context, I2PSessionImpl session, boolean reduce, boolean shutdown) {
    40         _context = context;
    41         _session = session;
    42         _reduceEnabled = reduce;
    43         _shutdownEnabled = shutdown;
    4440        if (! (reduce || shutdown))
    4541            throw new IllegalArgumentException("At least one must be enabled");
     42        _context = context;
     43        _log = context.logManager().getLog(SessionIdleTimer.class);
     44        _session = session;
    4645        Properties props = session.getOptions();
    47         _minimumTime = Long.MAX_VALUE;
    48         _lastActive = 0;
     46        long minimumTime = Long.MAX_VALUE;
     47        long reduceTime = 0;
     48        long shutdownTime = 0;
     49        int reduceQuantity = 0;
    4950        if (reduce) {
    50             _reduceQuantity = 1;
     51            reduceQuantity = 1;
    5152            String p = props.getProperty("i2cp.reduceQuantity");
    5253            if (p != null) {
    5354                try {
    54                     _reduceQuantity = Math.max(Integer.parseInt(p), 1);
     55                    reduceQuantity = Math.max(Integer.parseInt(p), 1);
    5556                    // also check vs. configured quantities?
    5657                } catch (NumberFormatException nfe) {}
    5758            }
    58             _reduceTime = DEFAULT_REDUCE_TIME;
     59            reduceTime = DEFAULT_REDUCE_TIME;
    5960            p = props.getProperty("i2cp.reduceIdleTime");
    6061            if (p != null) {
    6162                try {
    62                     _reduceTime = Math.max(Long.parseLong(p), MINIMUM_TIME);
     63                    reduceTime = Math.max(Long.parseLong(p), MINIMUM_TIME);
    6364                } catch (NumberFormatException nfe) {}
    6465            }
    65             _minimumTime = _reduceTime;
     66            minimumTime = reduceTime;
    6667        }
    6768        if (shutdown) {
    68             _shutdownTime = DEFAULT_CLOSE_TIME;
     69            shutdownTime = DEFAULT_CLOSE_TIME;
    6970            String p = props.getProperty("i2cp.closeIdleTime");
    7071            if (p != null) {
    7172                try {
    72                     _shutdownTime = Math.max(Long.parseLong(p), MINIMUM_TIME);
     73                    shutdownTime = Math.max(Long.parseLong(p), MINIMUM_TIME);
    7374                } catch (NumberFormatException nfe) {}
    7475            }
    75             _minimumTime = Math.min(_minimumTime, _shutdownTime);
    76             if (reduce && _shutdownTime <= _reduceTime)
     76            minimumTime = Math.min(minimumTime, shutdownTime);
     77            if (reduce && shutdownTime <= reduceTime)
    7778                reduce = false;
    7879        }
     80        _reduceEnabled = reduce;
     81        _reduceQuantity = reduceQuantity;
     82        _reduceTime = reduceTime;
     83        _shutdownEnabled = shutdown;
     84        _shutdownTime = shutdownTime;
     85        _minimumTime = minimumTime;
    7986    }
    8087
Note: See TracChangeset for help on using the changeset viewer.