## 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
`I2PSocketFull(Connection con)`

Method Summary
`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`