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 java.util.logging.Logger |
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 java.util.logging.Logger 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 SSL
java.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