- 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.<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, notifyReadClosed, notifyWriteClosed, 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
-
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()
-
-