Class I2PSocketFull

    • Method Detail

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