net.i2p.client.impl

## Class I2PSimpleSession

- java.lang.Object
- - net.i2p.client.impl.I2PSessionImpl
  - - net.i2p.client.impl.I2PSessionImpl2
    - - net.i2p.client.impl.I2PSimpleSession

- All Implemented Interfaces:
    I2PSession, I2CPMessageReader.I2CPMessageEventListener

      public class I2PSimpleSession
      extends I2PSessionImpl2

  Create a new session for doing naming and bandwidth queries only. Do not create a Destination. Don't create a producer. Do not send/receive messages to other Destinations. Cannot handle multiple simultaneous queries atm. Could be expanded to ask the router other things.

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from class net.i2p.client.impl.I2PSessionImpl

      `I2PSessionImpl.AvailabilityNotifier, I2PSessionImpl.State`

  - ### Field Summary

    - ### Fields inherited from class net.i2p.client.impl.I2PSessionImpl2

      `_noEffort, _sendingStates, _sendMessageNonce`

    - ### Fields inherited from class net.i2p.client.impl.I2PSessionImpl

      `_availabilityNotifier, _availableMessages, _bwLimits, _bwReceivedLock, _context, _handlerMap, _hostname, _leaseSet, _leaseSetWait, _log, _pendingLookups, _portNum, _producer, _queue, _reader, _sessionListener, _socket, _state, _stateLock, _transientSigningPublicKey, _writer, CACHE_MAX_SIZE, DUMMY_SESSION, LISTEN_PORT, PROP_DOMAIN_SOCKET`

    - ### Fields inherited from interface net.i2p.client.I2PSession

      `PORT_ANY, PORT_UNSPECIFIED, PROTO_ANY, PROTO_DATAGRAM, PROTO_DATAGRAM_RAW, PROTO_DATAGRAM2, PROTO_DATAGRAM3, PROTO_STREAMING, PROTO_UNSPECIFIED`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `I2PSimpleSession(I2PAppContext context, Properties options)` Create a new session for doing naming and bandwidth queries only.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `connect()` Connect to the router and establish a session.
    `void` | `updateOptions(Properties options)` Ignore, does nothing

    - ### Methods inherited from class net.i2p.client.impl.I2PSessionImpl2

      `addMuxedSessionListener, addSessionListener, destroySession, getTimeout, receiveMessage, receiveStatus, reconnect, removeListener, sendBestEffort, sendBestEffort, sendMessage, sendMessage, sendMessage, sendMessage, sendMessage, sendMessage, sendMessage, sendMessage, sendMessage, sendMessage, sendMessage, sendNoEffort, shouldCompress, startVerifyUsage`

    - ### Methods inherited from class net.i2p.client.impl.I2PSessionImpl

      `addNewMessage, addSubsession, bandwidthLimits, bwReceived, changeState, clearCache, dateUpdated, destLookupFailed, destLookupFailed, destReceived, destReceived, destroySession, disconnect, disconnected, getContext, getFastReceive, getHandlerMap, getLastLS2SignTime, getLeaseSet, getMyDestination, getName, getOfflineExpiration, getOfflineSignature, getOptions, getPrefix, getPrivateKey, getProducer, getRouterVersion, getSessionId, getSubsessions, getTransientSigningPublicKey, isClosed, isOffline, lastActivity, lookupDest, lookupDest, lookupDest, lookupDest, lookupDest, lookupDest, lookupDest2, messageReceived, propagateError, readError, removeSubsession, reportAbuse, sendBlindingInfo, sendMessage_unchecked, sendMessage, setLastLS2SignTime, setLeaseSet, setReduced, setSessionId, setSessionListener, shouldReconnect, supportsLS2, toString, updateActivity, verifyOpen, waitForDate`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### Constructor Detail

    - #### I2PSimpleSession

          public I2PSimpleSession(I2PAppContext context,
                                  Properties options)
                           throws I2PSessionException

      Create a new session for doing naming and bandwidth queries only. Do not create a destination.
      Throws:
        `I2PSessionException` - if there is a problem

  - ### Method Detail

    - #### connect

          public void connect()
                       throws I2PSessionException

      Connect to the router and establish a session. This call blocks until a session is granted. NOT threadsafe, do not call from multiple threads.
      Specified by:
        `connect` in interface `I2PSession`
      Overrides:
        `connect` in class `I2PSessionImpl`
      Throws:
        `I2PSessionException` - if there is a configuration error or the router is not reachable

    - #### updateOptions

          public void updateOptions(Properties options)

      Ignore, does nothing
      Specified by:
        `updateOptions` in interface `I2PSession`
      Overrides:
        `updateOptions` in class `I2PSessionImpl`
      Parameters:
        `options` - non-null