net.i2p.client

## Class I2PSimpleSession

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

- All Implemented Interfaces:
    I2PSession, I2CPMessageReader.I2CPMessageEventListener

       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.
  Author:
    zzz

- - ### Nested Class Summary

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

      `I2PSessionImpl.AvailabilityNotifier, I2PSessionImpl.VerifyUsage`

  - ### Field Summary

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

      `_availabilityNotifier, _availableMessages, _bwLimits, _bwReceivedLock, _closed, _closing, _context, _handlerMap, _hostname, _log, _opening, _out, _pendingLookups, _portNum, _producer, _queue, _reader, _sessionListener, _socket, _writer, LISTEN_PORT, PROP_ENABLE_SSL`

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

      `PORT_ANY, PORT_UNSPECIFIED, PROTO_ANY, PROTO_DATAGRAM, 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

    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.I2PSessionImpl2

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

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

      `addNewMessage, bandwidthLimits, bwReceived, dateUpdated, destLookupFailed, destReceived, destroySession, disconnect, disconnected, getDecryptionKey, getLeaseSet, getMyDestination, getOpening, getOptions, getPrefix, getPrivateKey, getProducer, getSessionId, isClosed, lastActivity, loadConfig, lookupDest, lookupDest, messageReceived, propogateError, readError, reportAbuse, sendMessage, setLeaseSet, setOpening, setReduced, setSessionId, setSessionListener, shouldReconnect, toString, updateActivity`

    - ### 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.
      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
      Since:
        0.8.4