Package net.i2p.client.streaming.impl
Class I2PSocketFull
java.lang.Object
net.i2p.client.streaming.impl.I2PSocketFull
- All Implemented Interfaces:
Closeable
,AutoCloseable
,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
-
Method Summary
Modifier and TypeMethodDescriptionvoid
close()
Closes this socket.(package private) void
destroy()
(package private) void
destroy2()
Call from Connection.disconnectComplete() instead of destroy() so we don't loopDeprecated.(package private) Connection
As of 0.9.9 will throw an IOE if socket is closed.int
The local port.As of 0.9.9 will throw an IOE if socket is closed.int
getPort()
The remote port.long
How long we will wait blocked on a read() operation.boolean
isClosed()
void
reset()
Resets and closes this socket.void
setOptions
(I2PSocketOptions options) Configure the socketvoid
setReadTimeout
(long ms) Define how long we will wait blocked on a read() operation (-1 will make the socket wait forever).void
Deprecated, unimplemented, does nothingtoString()
-
Constructor Details
-
I2PSocketFull
-
-
Method Details
-
close
Closes this socket. Nonblocking as of 0.9.9: Any thread currently blocked in an I/O operation upon this socket will throw an IOException. Once a socket has been closed, it is not available for further networking use (i.e. can't be reconnected or rebound). A new socket needs to be created. Closing this socket will also close the socket's InputStream and OutputStream.- Specified by:
close
in interfaceAutoCloseable
- Specified by:
close
in interfaceCloseable
- Throws:
IOException
-
reset
Resets and closes this socket. Sends a RESET indication to the far-end. This is the equivalent of setSoLinger(true, 0) followed by close() on a Java Socket. Nonblocking. Any thread currently blocked in an I/O operation upon this socket will throw an IOException. Once a socket has been reset, it is not available for further networking use (i.e. can't be reconnected or rebound). A new socket needs to be created. Resetting this socket will also close the socket's InputStream and OutputStream.- Specified by:
reset
in interfaceI2PSocket
- Throws:
IOException
- Since:
- 0.9.30
-
getConnection
Connection getConnection() -
getInputStream
As of 0.9.9 will throw an IOE if socket is closed. Prior to that would return null instead of throwing IOE.- Specified by:
getInputStream
in interfaceI2PSocket
- Returns:
- non-null
- Throws:
IOException
- on failure
-
getOptions
- Specified by:
getOptions
in interfaceI2PSocket
- Returns:
- socket's configuration
-
getChannel
Deprecated.Unimplemented, unlikely to ever be implemented.- Specified by:
getChannel
in interfaceI2PSocket
- Returns:
- null always
- Since:
- 0.8.9
-
getOutputStream
As of 0.9.9 will throw an IOE if socket is closed. Prior to that would return null instead of throwing IOE.- Specified by:
getOutputStream
in interfaceI2PSocket
- Returns:
- non-null
- Throws:
IOException
- on failure
-
getPeerDestination
- Specified by:
getPeerDestination
in interfaceI2PSocket
- 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 interfaceI2PSocket
- Returns:
- milliseconds to wait, or -1 if we will wait indefinitely
-
getThisDestination
- Specified by:
getThisDestination
in interfaceI2PSocket
- Returns:
- the Destination of this side of the socket.
-
setOptions
Description copied from interface:I2PSocket
Configure the socket- Specified by:
setOptions
in interfaceI2PSocket
- 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 interfaceI2PSocket
- Parameters:
ms
- timeout in ms
-
setSocketErrorListener
Deprecated, unimplemented, does nothing- Specified by:
setSocketErrorListener
in interfaceI2PSocket
-
isClosed
public boolean isClosed() -
destroy
void destroy() -
destroy2
void destroy2()Call from Connection.disconnectComplete() instead of destroy() so we don't loop- Since:
- 0.8.13
-
getPort
public int getPort()The remote port. -
getLocalPort
public int getLocalPort()The local port.- Specified by:
getLocalPort
in interfaceI2PSocket
- Returns:
- the port or 0 if unknown
- Since:
- 0.8.9
-
toString
-