Class LoggingSocket

  • All Implemented Interfaces:
    java.io.Closeable, java.lang.AutoCloseable

    public class LoggingSocket
    extends javax.net.ssl.SSLSocket
    • Field Detail

      • targetSocket

        private javax.net.ssl.SSLSocket targetSocket
      • logger

        private java.io.OutputStream logger
    • Constructor Detail

      • LoggingSocket

        public LoggingSocket​(java.net.Socket targetSocket,
                             java.io.OutputStream logger)
    • Method Detail

      • getInputStream

        public java.io.InputStream getInputStream()
                                           throws java.io.IOException
        Overrides:
        getInputStream in class java.net.Socket
        Throws:
        java.io.IOException
      • getOutputStream

        public java.io.OutputStream getOutputStream()
                                             throws java.io.IOException
        Overrides:
        getOutputStream in class java.net.Socket
        Throws:
        java.io.IOException
      • addHandshakeCompletedListener

        public void addHandshakeCompletedListener​(javax.net.ssl.HandshakeCompletedListener arg0)
        Specified by:
        addHandshakeCompletedListener in class javax.net.ssl.SSLSocket
      • bind

        public void bind​(java.net.SocketAddress bindpoint)
                  throws java.io.IOException
        Overrides:
        bind in class java.net.Socket
        Throws:
        java.io.IOException
      • close

        public void close()
                   throws java.io.IOException
        Specified by:
        close in interface java.lang.AutoCloseable
        Specified by:
        close in interface java.io.Closeable
        Overrides:
        close in class java.net.Socket
        Throws:
        java.io.IOException
      • connect

        public void connect​(java.net.SocketAddress endpoint,
                            int timeout)
                     throws java.io.IOException
        Overrides:
        connect in class java.net.Socket
        Throws:
        java.io.IOException
      • connect

        public void connect​(java.net.SocketAddress endpoint)
                     throws java.io.IOException
        Overrides:
        connect in class java.net.Socket
        Throws:
        java.io.IOException
      • equals

        public boolean equals​(java.lang.Object obj)
        Overrides:
        equals in class java.lang.Object
      • getChannel

        public java.nio.channels.SocketChannel getChannel()
        Overrides:
        getChannel in class java.net.Socket
      • getEnabledCipherSuites

        public java.lang.String[] getEnabledCipherSuites()
        Specified by:
        getEnabledCipherSuites in class javax.net.ssl.SSLSocket
      • getEnabledProtocols

        public java.lang.String[] getEnabledProtocols()
        Specified by:
        getEnabledProtocols in class javax.net.ssl.SSLSocket
      • getEnableSessionCreation

        public boolean getEnableSessionCreation()
        Specified by:
        getEnableSessionCreation in class javax.net.ssl.SSLSocket
      • getInetAddress

        public java.net.InetAddress getInetAddress()
        Overrides:
        getInetAddress in class java.net.Socket
      • getKeepAlive

        public boolean getKeepAlive()
                             throws java.net.SocketException
        Overrides:
        getKeepAlive in class java.net.Socket
        Throws:
        java.net.SocketException
      • getLocalAddress

        public java.net.InetAddress getLocalAddress()
        Overrides:
        getLocalAddress in class java.net.Socket
      • getLocalPort

        public int getLocalPort()
        Overrides:
        getLocalPort in class java.net.Socket
      • getLocalSocketAddress

        public java.net.SocketAddress getLocalSocketAddress()
        Overrides:
        getLocalSocketAddress in class java.net.Socket
      • getNeedClientAuth

        public boolean getNeedClientAuth()
        Specified by:
        getNeedClientAuth in class javax.net.ssl.SSLSocket
      • getOOBInline

        public boolean getOOBInline()
                             throws java.net.SocketException
        Overrides:
        getOOBInline in class java.net.Socket
        Throws:
        java.net.SocketException
      • getPort

        public int getPort()
        Overrides:
        getPort in class java.net.Socket
      • getReceiveBufferSize

        public int getReceiveBufferSize()
                                 throws java.net.SocketException
        Overrides:
        getReceiveBufferSize in class java.net.Socket
        Throws:
        java.net.SocketException
      • getRemoteSocketAddress

        public java.net.SocketAddress getRemoteSocketAddress()
        Overrides:
        getRemoteSocketAddress in class java.net.Socket
      • getReuseAddress

        public boolean getReuseAddress()
                                throws java.net.SocketException
        Overrides:
        getReuseAddress in class java.net.Socket
        Throws:
        java.net.SocketException
      • getSendBufferSize

        public int getSendBufferSize()
                              throws java.net.SocketException
        Overrides:
        getSendBufferSize in class java.net.Socket
        Throws:
        java.net.SocketException
      • getSession

        public javax.net.ssl.SSLSession getSession()
        Specified by:
        getSession in class javax.net.ssl.SSLSocket
      • getSoLinger

        public int getSoLinger()
                        throws java.net.SocketException
        Overrides:
        getSoLinger in class java.net.Socket
        Throws:
        java.net.SocketException
      • getSoTimeout

        public int getSoTimeout()
                         throws java.net.SocketException
        Overrides:
        getSoTimeout in class java.net.Socket
        Throws:
        java.net.SocketException
      • getSupportedCipherSuites

        public java.lang.String[] getSupportedCipherSuites()
        Specified by:
        getSupportedCipherSuites in class javax.net.ssl.SSLSocket
      • getSupportedProtocols

        public java.lang.String[] getSupportedProtocols()
        Specified by:
        getSupportedProtocols in class javax.net.ssl.SSLSocket
      • getTcpNoDelay

        public boolean getTcpNoDelay()
                              throws java.net.SocketException
        Overrides:
        getTcpNoDelay in class java.net.Socket
        Throws:
        java.net.SocketException
      • getTrafficClass

        public int getTrafficClass()
                            throws java.net.SocketException
        Overrides:
        getTrafficClass in class java.net.Socket
        Throws:
        java.net.SocketException
      • getUseClientMode

        public boolean getUseClientMode()
        Specified by:
        getUseClientMode in class javax.net.ssl.SSLSocket
      • getWantClientAuth

        public boolean getWantClientAuth()
        Specified by:
        getWantClientAuth in class javax.net.ssl.SSLSocket
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class java.lang.Object
      • isBound

        public boolean isBound()
        Overrides:
        isBound in class java.net.Socket
      • isClosed

        public boolean isClosed()
        Overrides:
        isClosed in class java.net.Socket
      • isConnected

        public boolean isConnected()
        Overrides:
        isConnected in class java.net.Socket
      • isInputShutdown

        public boolean isInputShutdown()
        Overrides:
        isInputShutdown in class java.net.Socket
      • isOutputShutdown

        public boolean isOutputShutdown()
        Overrides:
        isOutputShutdown in class java.net.Socket
      • removeHandshakeCompletedListener

        public void removeHandshakeCompletedListener​(javax.net.ssl.HandshakeCompletedListener arg0)
        Specified by:
        removeHandshakeCompletedListener in class javax.net.ssl.SSLSocket
      • sendUrgentData

        public void sendUrgentData​(int data)
                            throws java.io.IOException
        Overrides:
        sendUrgentData in class java.net.Socket
        Throws:
        java.io.IOException
      • setEnabledCipherSuites

        public void setEnabledCipherSuites​(java.lang.String[] arg0)
        Specified by:
        setEnabledCipherSuites in class javax.net.ssl.SSLSocket
      • setEnabledProtocols

        public void setEnabledProtocols​(java.lang.String[] arg0)
        Specified by:
        setEnabledProtocols in class javax.net.ssl.SSLSocket
      • setEnableSessionCreation

        public void setEnableSessionCreation​(boolean arg0)
        Specified by:
        setEnableSessionCreation in class javax.net.ssl.SSLSocket
      • setKeepAlive

        public void setKeepAlive​(boolean on)
                          throws java.net.SocketException
        Overrides:
        setKeepAlive in class java.net.Socket
        Throws:
        java.net.SocketException
      • setNeedClientAuth

        public void setNeedClientAuth​(boolean arg0)
        Specified by:
        setNeedClientAuth in class javax.net.ssl.SSLSocket
      • setOOBInline

        public void setOOBInline​(boolean on)
                          throws java.net.SocketException
        Overrides:
        setOOBInline in class java.net.Socket
        Throws:
        java.net.SocketException
      • setReceiveBufferSize

        public void setReceiveBufferSize​(int size)
                                  throws java.net.SocketException
        Overrides:
        setReceiveBufferSize in class java.net.Socket
        Throws:
        java.net.SocketException
      • setReuseAddress

        public void setReuseAddress​(boolean on)
                             throws java.net.SocketException
        Overrides:
        setReuseAddress in class java.net.Socket
        Throws:
        java.net.SocketException
      • setSendBufferSize

        public void setSendBufferSize​(int size)
                               throws java.net.SocketException
        Overrides:
        setSendBufferSize in class java.net.Socket
        Throws:
        java.net.SocketException
      • setSoLinger

        public void setSoLinger​(boolean on,
                                int linger)
                         throws java.net.SocketException
        Overrides:
        setSoLinger in class java.net.Socket
        Throws:
        java.net.SocketException
      • setSoTimeout

        public void setSoTimeout​(int timeout)
                          throws java.net.SocketException
        Overrides:
        setSoTimeout in class java.net.Socket
        Throws:
        java.net.SocketException
      • setTcpNoDelay

        public void setTcpNoDelay​(boolean on)
                           throws java.net.SocketException
        Overrides:
        setTcpNoDelay in class java.net.Socket
        Throws:
        java.net.SocketException
      • setTrafficClass

        public void setTrafficClass​(int tc)
                             throws java.net.SocketException
        Overrides:
        setTrafficClass in class java.net.Socket
        Throws:
        java.net.SocketException
      • setUseClientMode

        public void setUseClientMode​(boolean arg0)
        Specified by:
        setUseClientMode in class javax.net.ssl.SSLSocket
      • setWantClientAuth

        public void setWantClientAuth​(boolean arg0)
        Specified by:
        setWantClientAuth in class javax.net.ssl.SSLSocket
      • shutdownInput

        public void shutdownInput()
                           throws java.io.IOException
        Overrides:
        shutdownInput in class java.net.Socket
        Throws:
        java.io.IOException
      • shutdownOutput

        public void shutdownOutput()
                            throws java.io.IOException
        Overrides:
        shutdownOutput in class java.net.Socket
        Throws:
        java.io.IOException
      • startHandshake

        public void startHandshake()
                            throws java.io.IOException
        Specified by:
        startHandshake in class javax.net.ssl.SSLSocket
        Throws:
        java.io.IOException
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.net.Socket