public abstract class BlockingSSL extends SSL
| Modifier and Type | Field and Description |
|---|---|
protected java.nio.ByteBuffer |
buffer
Input buffer
|
protected java.nio.channels.SocketChannel |
channel
Underlying SocketChannel
|
protected static CentralLogger |
LOG
Logger
|
AFTER_HANDSHAKE, appBufferMax, checkSeqNo, cSeqNo, done, engine, fsmWorkers, hex, incomingBuffers, inpGuard, inpSeqNo, inpUnwrap, inpWrap, netBufferMax, outGuard, outSeqNo, outUnwrap, outWrap| Constructor and Description |
|---|
BlockingSSL(java.nio.channels.SocketChannel channel,
javax.net.ssl.SSLEngine engine,
java.util.concurrent.ExecutorService fsmWorkers)
Constructor
|
| Modifier and Type | Method and Description |
|---|---|
void |
checkInput()
Check if more input is available for processing
|
void |
onClosed()
Called on the SSL session close
|
void |
onFailure(java.lang.Exception ex)
Report the handshake failure
|
void |
onOutput(java.nio.ByteBuffer encrypted)
Process the next portion of the encrypted output
|
private boolean |
processInput()
Try to get new portion of the input
|
void |
send(java.nio.ByteBuffer data)
Process the next portion of the output
|
protected static final CentralLogger LOG
protected final java.nio.channels.SocketChannel channel
protected final java.nio.ByteBuffer buffer
public BlockingSSL(java.nio.channels.SocketChannel channel,
javax.net.ssl.SSLEngine engine,
java.util.concurrent.ExecutorService fsmWorkers)
channel - underlying SocketChannelengine - the SSLEngine instancefsmWorkers - ExecutorService for internal tasks' executionpublic void checkInput()
throws java.io.IOException
checkInput in class SSLjava.io.IOException - on network failurepublic void onOutput(java.nio.ByteBuffer encrypted)
public void send(java.nio.ByteBuffer data)
public void onFailure(java.lang.Exception ex)
private boolean processInput()
true if more input is available