in core/src/main/java/org/apache/mina/transport/nio/SslHelper.java [353:378]
private void processResult(AbstractIoSession session, HandshakeStatus sessionStatus, SSLEngineResult result) {
LOGGER.debug("handshake status:" + sessionStatus + " engine result:" + result);
switch (sessionStatus) {
case NEED_TASK:
case NEED_UNWRAP:
case NEED_WRAP:
if (result.getHandshakeStatus() == HandshakeStatus.FINISHED) {
state = State.CREDENTAILS_AVAILABLE;
session.processHandshakeCompleted();
for(WriteRequest request : messages) {
session.enqueueWriteRequest(request);
}
messages.clear();
}
if (result.getStatus() == Status.CLOSED) {
switchToNoSecure(session);
}
break;
case FINISHED:
case NOT_HANDSHAKING:
if (result.getHandshakeStatus() == HandshakeStatus.NEED_TASK) {
session.processHandshakeStarted();
}
break;
}
}