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