net.i2p.client.streaming
Interface I2PSocket

All Superinterfaces:
Closeable
All Known Implementing Classes:
I2PSocketFull

public interface I2PSocket
extends Closeable

Streaming socket returned by I2PSocketManager.connect(Destination).

Note that this is not a standard Java Socket, if you need one of those, use I2PSocketManager.connectToSocket(Destination) instead.


Nested Class Summary
static interface I2PSocket.SocketErrorListener
          Deprecated, unimplemented, does nothing.
 
Method Summary
 SelectableChannel getChannel()
          Deprecated.  
 InputStream getInputStream()
          As of 0.9.9 will throw an IOE if socket is closed.
 int getLocalPort()
          The local port.
 I2PSocketOptions getOptions()
           
 OutputStream getOutputStream()
          As of 0.9.9 will throw an IOE if socket is closed.
 Destination getPeerDestination()
           
 int getPort()
          The remote port.
 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)
          Deprecated, unimplemented, does nothing
 
Methods inherited from interface java.io.Closeable
close
 

Method Detail

getThisDestination

Destination getThisDestination()
Returns:
the Destination of this side of the socket.

getPeerDestination

Destination getPeerDestination()
Returns:
the destination of the peer.

getInputStream

InputStream getInputStream()
                           throws IOException
As of 0.9.9 will throw an IOE if socket is closed. Prior to that would return null instead of throwing IOE.

Note that operations on the returned stream may return an IOException whose cause as returned by Throwable.getCause() is an I2PSocketException. If so, the client may retrieve a status code via I2PSocketException.getStatus() to provide specific feedback to the user.

Returns:
an InputStream to read from the socket. Non-null since 0.9.9.
Throws:
IOException - on failure

getOutputStream

OutputStream getOutputStream()
                             throws IOException
As of 0.9.9 will throw an IOE if socket is closed. Prior to that would return null instead of throwing IOE.

Note that operations on the returned stream may return an IOException whose cause as returned by Throwable.getCause() is an I2PSocketException. If so, the client may retrieve a status code via I2PSocketException.getStatus() to provide specific feedback to the user.

Returns:
an OutputStream to write into the socket. Non-null since 0.9.9.
Throws:
IOException - on failure

getChannel

SelectableChannel getChannel()
                             throws IOException
Deprecated. 

Unimplemented, unlikely to ever be implemented.

Returns:
null always
Throws:
IOException
Since:
0.8.9

getOptions

I2PSocketOptions getOptions()
Returns:
socket's configuration

setOptions

void setOptions(I2PSocketOptions options)
Configure the socket

Parameters:
options - I2PSocketOptions to set

getReadTimeout

long getReadTimeout()
How long we will wait blocked on a read() operation. This is simply a helper to query the I2PSocketOptions

Returns:
milliseconds to wait, or -1 if we will wait indefinitely

setReadTimeout

void setReadTimeout(long ms)
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

Parameters:
ms - timeout in ms

isClosed

boolean isClosed()

setSocketErrorListener

void setSocketErrorListener(I2PSocket.SocketErrorListener lsnr)
Deprecated, unimplemented, does nothing


getPort

int getPort()
The remote port.

Returns:
Default I2PSession.PORT_UNSPECIFIED (0) or PORT_ANY (0)
Since:
0.8.9

getLocalPort

int getLocalPort()
The local port.

Returns:
Default I2PSession.PORT_UNSPECIFIED (0) or PORT_ANY (0)
Since:
0.8.9