Variant of the {@link #SSL_do_handshake} used by {@link ConscryptEngine}. This differs
slightly from the raw BoringSSL API in that it returns the SSL error code from the
operation, rather than the return value from {@code SSL_do_handshake}. This is done in
order to allow to properly handle SSL errors and propagate useful exceptions.
@return Returns the SSL error code for the operation when the error was {@code
SSL_ERROR_NONE}, {@code SSL_ERROR_WANT_READ}, or {@code SSL_ERROR_WANT_WRITE}.
@ when the error code is anything except those returned by this method.
Variant of the {@link #SSL_do_handshake} used by {@link ConscryptEngine}. This differs slightly from the raw BoringSSL API in that it returns the SSL error code from the operation, rather than the return value from {@code SSL_do_handshake}. This is done in order to allow to properly handle SSL errors and propagate useful exceptions.
@return Returns the SSL error code for the operation when the error was {@code SSL_ERROR_NONE}, {@code SSL_ERROR_WANT_READ}, or {@code SSL_ERROR_WANT_WRITE}. @ when the error code is anything except those returned by this method.