- java.lang.Object
-
- org.xnio.Connection
-
- org.xnio.StreamConnection
-
- org.xnio.ssl.SslConnection
-
- org.xnio.ssl.JsseSslConnection
-
- All Implemented Interfaces:
java.io.Closeable,java.lang.AutoCloseable,java.nio.channels.Channel,java.nio.channels.InterruptibleChannel,BoundChannel,CloseableChannel,CloseListenerSettable<StreamConnection>,Configurable,ConnectedChannel,SslChannel
public final class JsseSslConnection extends SslConnection
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.xnio.channels.CloseListenerSettable
CloseListenerSettable.Setter<C extends java.nio.channels.Channel>
-
-
Field Summary
-
Fields inherited from class org.xnio.Connection
thread
-
Fields inherited from interface org.xnio.channels.Configurable
EMPTY
-
-
Constructor Summary
Constructors Constructor Description JsseSslConnection(StreamConnection streamConnection, javax.net.ssl.SSLEngine engine)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voidcloseAction()The close action to perform on this connection.javax.net.ssl.SSLEnginegetEngine()ChannelListener.Setter<? extends SslConnection>getHandshakeSetter()Get the setter which can be used to change the handshake listener for this channel.java.net.SocketAddressgetLocalAddress()Get the local address that this channel is bound to.<T> TgetOption(Option<T> option)Get the value of a channel option.java.net.SocketAddressgetPeerAddress()Get the peer address of this channel.javax.net.ssl.SSLSessiongetSslSession()Get the currentSSLSessionfor this channel.booleanisOpen()booleanisReadShutdown()Determine whether reads have been shut down on this connection.booleanisWriteShutdown()Determine whether writes have been shut down on this connection.protected voidnotifyReadClosed()Indicate to conduit handlers that reads have been closed.protected voidnotifyWriteClosed()Indicate to conduit handlers that writes have been closed.<T> TsetOption(Option<T> option, T value)Set an option for this channel.voidstartHandshake()Start or restart the SSL/TLS handshake.booleansupportsOption(Option<?> option)Determine whether an option is supported on this channel.-
Methods inherited from class org.xnio.ssl.SslConnection
getCloseSetter
-
Methods inherited from class org.xnio.StreamConnection
getCloseListener, getSinkChannel, getSourceChannel, setCloseListener, setSinkConduit, setSourceConduit
-
Methods inherited from class org.xnio.Connection
close, getIoThread, getLocalAddress, getPeerAddress, getWorker, readClosed, writeClosed
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.xnio.channels.BoundChannel
getLocalAddress
-
Methods inherited from interface org.xnio.channels.CloseableChannel
close, getIoThread, getWorker
-
Methods inherited from interface org.xnio.channels.ConnectedChannel
getPeerAddress
-
-
-
-
Constructor Detail
-
JsseSslConnection
public JsseSslConnection(StreamConnection streamConnection, javax.net.ssl.SSLEngine engine)
-
-
Method Detail
-
startHandshake
public void startHandshake() throws java.io.IOExceptionDescription copied from class:SslConnectionStart 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 theOptions.SSL_STARTTLSoption 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:
startHandshakein interfaceSslChannel- Specified by:
startHandshakein classSslConnection- Throws:
java.io.IOException- if an I/O error occurs
-
getSslSession
public javax.net.ssl.SSLSession getSslSession()
Description copied from class:SslConnectionGet the currentSSLSessionfor this channel.- Specified by:
getSslSessionin interfaceSslChannel- Specified by:
getSslSessionin classSslConnection- Returns:
- the current
SSLSession
-
closeAction
protected void closeAction() throws java.io.IOExceptionDescription copied from class:ConnectionThe close action to perform on this connection.- Overrides:
closeActionin classConnection- Throws:
java.io.IOException- if close fails
-
notifyWriteClosed
protected void notifyWriteClosed()
Description copied from class:ConnectionIndicate to conduit handlers that writes have been closed.- Specified by:
notifyWriteClosedin classConnection
-
notifyReadClosed
protected void notifyReadClosed()
Description copied from class:ConnectionIndicate to conduit handlers that reads have been closed.- Specified by:
notifyReadClosedin classConnection
-
getPeerAddress
public java.net.SocketAddress getPeerAddress()
Description copied from interface:ConnectedChannelGet the peer address of this channel.- Returns:
- the peer address
-
getLocalAddress
public java.net.SocketAddress getLocalAddress()
Description copied from interface:BoundChannelGet the local address that this channel is bound to.- Returns:
- the local address
-
getHandshakeSetter
public ChannelListener.Setter<? extends SslConnection> getHandshakeSetter()
Description copied from class:SslConnectionGet the setter which can be used to change the handshake listener for this channel.- Specified by:
getHandshakeSetterin interfaceSslChannel- Specified by:
getHandshakeSetterin classSslConnection- Returns:
- the setter
-
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:
setOptionin interfaceConfigurable- Overrides:
setOptionin classConnection- Type Parameters:
T- the type of the option value- Parameters:
option- the option to setvalue- 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 optionjava.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:
getOptionin interfaceConfigurable- Overrides:
getOptionin classConnection- Type Parameters:
T- the type of the option value- Parameters:
option- the option to get- Returns:
- the value of the option, or
nullif 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:
supportsOptionin interfaceConfigurable- Overrides:
supportsOptionin classConnection- Parameters:
option- the option- Returns:
trueif it is supported
-
isOpen
public boolean isOpen()
- Specified by:
isOpenin interfacejava.nio.channels.Channel- Overrides:
isOpenin classConnection
-
isWriteShutdown
public boolean isWriteShutdown()
Description copied from class:ConnectionDetermine whether writes have been shut down on this connection.- Overrides:
isWriteShutdownin classConnection- Returns:
trueif writes were shut down
-
isReadShutdown
public boolean isReadShutdown()
Description copied from class:ConnectionDetermine whether reads have been shut down on this connection.- Overrides:
isReadShutdownin classConnection- Returns:
trueif reads were shut down
-
getEngine
public javax.net.ssl.SSLEngine getEngine()
-
-