net.i2p.client.streaming

## Class I2PSocketFull

- java.lang.Object
- - net.i2p.client.streaming.I2PSocketFull

- All Implemented Interfaces:
    I2PSocket

       class I2PSocketFull
      extends Object
      implements I2PSocket

  Bridge between the full streaming lib and the I2PSocket API

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from interface net.i2p.client.streaming.I2PSocket

      `I2PSocket.SocketErrorListener`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `I2PSocketFull(Connection con)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `close()` Closes the socket if not closed yet
    `(package private) void` | `destroy()`
    `(package private) Connection` | `getConnection()`
    `InputStream` | `getInputStream()` Warning, may return null instead of throwing IOE, which is not what the interface says.
    `I2PSocketOptions` | `getOptions()`
    `OutputStream` | `getOutputStream()` Warning, may return null instead of throwing IOE, which is not what the interface says.
    `Destination` | `getPeerDestination()`
    `long` | `getReadTimeout()` How long we will wait blocked on a read() operation.
    `Destination` | `getThisDestination()`
    `boolean` | `isClosed()`
    `void` | `setOptions(I2PSocketOptions options)` Configure the socket
    `void` | `setReadTimeout(long ms)` Define how long we will wait blocked on a read() operation (-1 will make the socket wait forever).
    `void` | `setSocketErrorListener(I2PSocket.SocketErrorListener lsnr)`
    `String` | `toString()`

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

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

- - ### Constructor Detail

    - #### I2PSocketFull

          public I2PSocketFull(Connection con)

  - ### Method Detail

    - #### close

          public void close()
                     throws IOException

      Description copied from interface: `I2PSocket`
      Closes the socket if not closed yet
      Specified by:
        `close` in interface `I2PSocket`
      Throws:
        `IOException` - on failure

    - #### getConnection

          Connection getConnection()

    - #### getInputStream

          public InputStream getInputStream()

      Warning, may return null instead of throwing IOE, which is not what the interface says.
      Specified by:
        `getInputStream` in interface `I2PSocket`
      Returns:
        an InputStream to read from the socket.

    - #### getOptions

          public I2PSocketOptions getOptions()

      Specified by:
        `getOptions` in interface `I2PSocket`
      Returns:
        socket's configuration

    - #### getOutputStream

          public OutputStream getOutputStream()
                                       throws IOException

      Warning, may return null instead of throwing IOE, which is not what the interface says.
      Specified by:
        `getOutputStream` in interface `I2PSocket`
      Returns:
        an OutputStream to write into the socket.
      Throws:
        `IOException` - on failure

    - #### getPeerDestination

          public Destination getPeerDestination()

      Specified by:
        `getPeerDestination` in interface `I2PSocket`
      Returns:
        the destination of the peer.

    - #### getReadTimeout

          public long getReadTimeout()

      Description copied from interface: `I2PSocket`
      How long we will wait blocked on a read() operation. This is simply a helper to query the I2PSocketOptions
      Specified by:
        `getReadTimeout` in interface `I2PSocket`
      Returns:
        milliseconds to wait, or -1 if we will wait indefinitely

    - #### getThisDestination

          public Destination getThisDestination()

      Specified by:
        `getThisDestination` in interface `I2PSocket`
      Returns:
        the Destination of this side of the socket.

    - #### setOptions

          public void setOptions(I2PSocketOptions options)

      Description copied from interface: `I2PSocket`
      Configure the socket
      Specified by:
        `setOptions` in interface `I2PSocket`
      Parameters:
        `options` - I2PSocketOptions to set

    - #### setReadTimeout

          public void setReadTimeout(long ms)

      Description copied from interface: `I2PSocket`
      Define how long we will wait blocked on a read() operation (-1 will make the socket wait forever). This is simply a helper to adjust the I2PSocketOptions
      Specified by:
        `setReadTimeout` in interface `I2PSocket`
      Parameters:
        `ms` - timeout in ms

    - #### setSocketErrorListener

          public void setSocketErrorListener(I2PSocket.SocketErrorListener lsnr)

      Specified by:
        `setSocketErrorListener` in interface `I2PSocket`

    - #### isClosed

          public boolean isClosed()

      Specified by:
        `isClosed` in interface `I2PSocket`

    - #### destroy

          void destroy()

    - #### toString

          public String toString()

      Overrides:
        `toString` in class `Object`