Class SSLClient
- java.lang.Object
-
- org.ovirt.vdsm.jsonrpc.client.reactors.ReactorClient
-
- org.ovirt.vdsm.jsonrpc.client.reactors.stomp.StompCommonClient
-
- org.ovirt.vdsm.jsonrpc.client.reactors.SSLClient
-
- Direct Known Subclasses:
SSLStompClient
public abstract class SSLClient extends StompCommonClient
ReactorClient
implementation to provide encrypted communication.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.ovirt.vdsm.jsonrpc.client.reactors.ReactorClient
ReactorClient.MessageListener
-
-
Field Summary
Fields Modifier and Type Field Description private boolean
client
protected static org.slf4j.Logger
log
protected SSLEngineNioHelper
nioEngine
protected java.nio.channels.Selector
selector
private javax.net.ssl.SSLContext
sslContext
-
Fields inherited from class org.ovirt.vdsm.jsonrpc.client.reactors.stomp.StompCommonClient
connected, DEFAULT_REQUEST_QUEUE, DEFAULT_RESPONSE_QUEUE, headerBuffer, message, subscribed, subscriptionIds
-
Fields inherited from class org.ovirt.vdsm.jsonrpc.client.reactors.ReactorClient
BUFFER_SIZE, channel, CLIENT_CLOSED, eventListeners, half, ibuff, key, outbox, PEER_CERTIFICATE_EMPTY_LIST, policy, reactor
-
-
Constructor Summary
Constructors Constructor Description SSLClient(Reactor reactor, java.nio.channels.Selector selector, java.lang.String hostname, int port, javax.net.ssl.SSLContext sslctx)
SSLClient(Reactor reactor, java.nio.channels.Selector selector, java.lang.String hostname, int port, javax.net.ssl.SSLContext sslctx, java.nio.channels.SocketChannel socketChannel)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected javax.net.ssl.SSLEngine
createSSLEngine(boolean clientMode)
java.util.List<java.security.cert.Certificate>
getPeerCertificates()
private java.lang.Runnable
pendingOperations()
protected void
postConnect(OneTimeCallback callback)
Transport specific post connection functionality.void
postDisconnect()
Cleans resources after disconnect.void
process()
protected int
read(java.nio.ByteBuffer buff)
Reads provided buffer.void
updateInterestedOps()
Updates selection key's operation set.protected void
write(java.nio.ByteBuffer buff)
Writes provided buffer.-
Methods inherited from class org.ovirt.vdsm.jsonrpc.client.reactors.stomp.StompCommonClient
buildNetworkResponse, clean, close, emitOnMessageReceived, getEventQueue, getRequestQueue, getResponseQueue, processIncoming, send, sendHeartbeat, sendNow, updatePolicyWithHeartbeat, validate
-
Methods inherited from class org.ovirt.vdsm.jsonrpc.client.reactors.ReactorClient
addEventListener, closeChannel, connect, disconnect, emitOnMessageReceived, getClientId, getConnectionId, getHostname, getPostConnectCallback, getRetryPolicy, getSelectionKey, isInInit, isOpen, now, performAction, processOutgoing, removeEventListener, scheduleTask, sendMessage, setClientPolicy, updateLastIncomingHeartbeat, updateLastOutgoingHeartbeat
-
-
-
-
Field Detail
-
log
protected static org.slf4j.Logger log
-
selector
protected final java.nio.channels.Selector selector
-
nioEngine
protected SSLEngineNioHelper nioEngine
-
sslContext
private javax.net.ssl.SSLContext sslContext
-
client
private boolean client
-
-
Constructor Detail
-
SSLClient
public SSLClient(Reactor reactor, java.nio.channels.Selector selector, java.lang.String hostname, int port, javax.net.ssl.SSLContext sslctx)
-
SSLClient
public SSLClient(Reactor reactor, java.nio.channels.Selector selector, java.lang.String hostname, int port, javax.net.ssl.SSLContext sslctx, java.nio.channels.SocketChannel socketChannel) throws ClientConnectionException
- Throws:
ClientConnectionException
-
-
Method Detail
-
createSSLEngine
protected javax.net.ssl.SSLEngine createSSLEngine(boolean clientMode)
-
updateInterestedOps
public void updateInterestedOps()
Description copied from class:ReactorClient
Updates selection key's operation set.- Specified by:
updateInterestedOps
in classReactorClient
-
pendingOperations
private java.lang.Runnable pendingOperations() throws java.io.IOException, ClientConnectionException
- Throws:
java.io.IOException
ClientConnectionException
-
read
protected int read(java.nio.ByteBuffer buff) throws java.io.IOException
Description copied from class:ReactorClient
Reads provided buffer.- Specified by:
read
in classReactorClient
- Parameters:
buff
- provided buffer to be read.- Returns:
- Number of bytes read.
- Throws:
java.io.IOException
- when networking issue occurs.
-
write
protected void write(java.nio.ByteBuffer buff) throws java.io.IOException
Description copied from class:ReactorClient
Writes provided buffer.- Specified by:
write
in classReactorClient
- Parameters:
buff
- provided buffer to be written.- Throws:
java.io.IOException
- when networking issue occurs.
-
process
public void process() throws java.io.IOException, ClientConnectionException
- Overrides:
process
in classReactorClient
- Throws:
java.io.IOException
ClientConnectionException
-
postConnect
protected void postConnect(OneTimeCallback callback) throws ClientConnectionException
Description copied from class:ReactorClient
Transport specific post connection functionality.- Specified by:
postConnect
in classReactorClient
- Parameters:
callback
- - callback which is executed after connection is estabilished.- Throws:
ClientConnectionException
- when issues with connection.
-
postDisconnect
public void postDisconnect()
Description copied from class:ReactorClient
Cleans resources after disconnect.- Specified by:
postDisconnect
in classReactorClient
-
getPeerCertificates
public java.util.List<java.security.cert.Certificate> getPeerCertificates()
- Overrides:
getPeerCertificates
in classReactorClient
- Returns:
- the peer certificates of the current session
-
-