in src/main/java/com/twitter/whiskey/nio/SSLSocket.java [56:84]
private void wrapHandshake() throws IOException {
ByteBuffer out = ByteBuffer.allocate(engine.getSession().getPacketBufferSize());
SSLEngineResult result;
do {
result = engine.wrap(EMPTY_BUFFER_ARRAY, out);
if (result.bytesProduced() > 0) {
out.flip();
handshakeWriteQueue.add(new WriteFuture(new ByteBuffer[] { out }));
out = ByteBuffer.allocate(engine.getSession().getPacketBufferSize());
}
switch (result.getHandshakeStatus()) {
case FINISHED:
super.finishConnect();
break;
case NEED_TASK:
runDelegatedTasks(engine);
break;
case NEED_UNWRAP:
readAndUnwrapHandshake();
break;
case NEED_WRAP:
case NOT_HANDSHAKING:
break;
}
} while (result.bytesProduced() > 0);
}