Module 
Package org.xnio.ssl

Class JsseSslStreamConnection

    • Constructor Detail

      • JsseSslStreamConnection

        public JsseSslStreamConnection​(StreamConnection connection,
                                       javax.net.ssl.SSLEngine sslEngine,
                                       boolean startTls)
    • Method Detail

      • startHandshake

        public void startHandshake()
                            throws java.io.IOException
        Start or restart the SSL/TLS handshake. To force a complete SSL/TLS session renegotiation, the current session should be invalidated prior to calling this method. This method is not needed for the initial handshake unless the Options.SSL_STARTTLS option is set as sending or receiving over the channel will automatically initiate it. This method must not be called while a read or write operation is taking place.
        Specified by:
        startHandshake in interface SslChannel
        Specified by:
        startHandshake in class SslConnection
        Throws:
        java.io.IOException - if an I/O error occurs
      • getPeerAddress

        public java.net.SocketAddress getPeerAddress()
        Get the peer address of this channel.
        Returns:
        the peer address
      • getLocalAddress

        public java.net.SocketAddress getLocalAddress()
        Get the local address that this channel is bound to.
        Returns:
        the local address
      • closeAction

        protected void closeAction()
                            throws java.io.IOException
        The close action to perform on this connection.
        Overrides:
        closeAction in class Connection
        Throws:
        java.io.IOException - if close fails
      • notifyWriteClosed

        protected void notifyWriteClosed()
        Indicate to conduit handlers that writes have been closed.
        Specified by:
        notifyWriteClosed in class Connection
      • notifyReadClosed

        protected void notifyReadClosed()
        Indicate to conduit handlers that reads have been closed.
        Specified by:
        notifyReadClosed in class Connection
      • setOption

        public <T> T setOption​(Option<T> option,
                               T value)
                        throws java.lang.IllegalArgumentException,
                               java.io.IOException
        Set an option for this channel. Unsupported options are ignored.
        Specified by:
        setOption in interface Configurable
        Overrides:
        setOption in class Connection
        Type Parameters:
        T - the type of the option value
        Parameters:
        option - the option to set
        value - the value of the option to set
        Returns:
        the previous option value, if any
        Throws:
        java.lang.IllegalArgumentException - if the value is not acceptable for this option
        java.io.IOException - if an I/O error occurred when modifying the option
      • getOption

        public <T> T getOption​(Option<T> option)
                        throws java.io.IOException
        Get the value of a channel option.
        Specified by:
        getOption in interface Configurable
        Overrides:
        getOption in class Connection
        Type Parameters:
        T - the type of the option value
        Parameters:
        option - the option to get
        Returns:
        the value of the option, or null if it is not set
        Throws:
        java.io.IOException - if an I/O error occurred when reading the option
      • supportsOption

        public boolean supportsOption​(Option<?> option)
        Determine whether an option is supported on this channel.
        Specified by:
        supportsOption in interface Configurable
        Overrides:
        supportsOption in class Connection
        Parameters:
        option - the option
        Returns:
        true if it is supported
      • getSslSession

        public javax.net.ssl.SSLSession getSslSession()
        Get the current SSLSession for this channel.
        Specified by:
        getSslSession in interface SslChannel
        Specified by:
        getSslSession in class SslConnection
        Returns:
        the current SSLSession
      • readClosed

        protected boolean readClosed()
        Description copied from class: Connection
        Indicate that reads have been closed on this connection.
        Overrides:
        readClosed in class Connection
        Returns:
        true if read closure was successfully indicated; false if this method has already been called
      • writeClosed

        protected boolean writeClosed()
        Description copied from class: Connection
        Indicate that writes have been closed on this connection.
        Overrides:
        writeClosed in class Connection
        Returns:
        true if write closure was successfully indicated; false if this method has already been called
      • handleHandshakeFinished

        protected void handleHandshakeFinished()
        Callback method for notification of handshake finished.
      • isReadShutdown

        public boolean isReadShutdown()
        Description copied from class: Connection
        Determine whether reads have been shut down on this connection.
        Overrides:
        isReadShutdown in class Connection
        Returns:
        true if reads were shut down
      • isWriteShutdown

        public boolean isWriteShutdown()
        Determine whether writes have been shut down on this connection.
        Overrides:
        isWriteShutdown in class Connection
        Returns:
        true if writes were shut down