Class I2PSocketFull

java.lang.Object
net.i2p.client.streaming.impl.I2PSocketFull
All Implemented Interfaces:
Closeable, AutoCloseable, I2PSocket

class I2PSocketFull extends Object implements I2PSocket
Bridge between the full streaming lib and the I2PSocket API
  • Constructor Details

  • Method Details

    • close

      public void close() throws IOException
      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 interface AutoCloseable
      Specified by:
      close in interface Closeable
      Throws:
      IOException
    • reset

      public void reset() throws IOException
      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 interface I2PSocket
      Throws:
      IOException
      Since:
      0.9.30
    • getConnection

      Connection getConnection()
    • getInputStream

      public 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.
      Specified by:
      getInputStream in interface I2PSocket
      Returns:
      non-null
      Throws:
      IOException - on failure
    • getOptions

      public I2PSocketOptions getOptions()
      Specified by:
      getOptions in interface I2PSocket
      Returns:
      socket's configuration
    • getChannel

      @Deprecated public SelectableChannel getChannel()
      Deprecated.
      Unimplemented, unlikely to ever be implemented.
      Specified by:
      getChannel in interface I2PSocket
      Returns:
      null always
      Since:
      0.8.9
    • getOutputStream

      public 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.
      Specified by:
      getOutputStream in interface I2PSocket
      Returns:
      non-null
      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)
      Deprecated, unimplemented, does nothing
      Specified by:
      setSocketErrorListener in interface I2PSocket
    • isClosed

      public boolean isClosed()
      Specified by:
      isClosed in interface I2PSocket
    • 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.
      Specified by:
      getPort in interface I2PSocket
      Returns:
      the port or 0 if unknown
      Since:
      0.8.9
    • getLocalPort

      public int getLocalPort()
      The local port.
      Specified by:
      getLocalPort in interface I2PSocket
      Returns:
      the port or 0 if unknown
      Since:
      0.8.9
    • toString

      public String toString()
      Overrides:
      toString in class Object