private void wrapHandshake()

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);
    }