<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Oct 7, 2015 at 3:16 PM, Matt Caswell <span dir="ltr"><<a href="mailto:matt@openssl.org" target="_blank">matt@openssl.org</a>></span> wrote:<a href="https://github.com/openssl/openssl/pull/433" rel="noreferrer" target="_blank"></a><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
<br>
libssl has been made async aware through the introduction of a new mode<br>
"SSL_MODE_ASYNC". The mode is set using a call to one of the existing<br>
functions SSL_CTX_set_mode() or SSL_set_mode(). Having set that mode<br>
calls to functions such as SSL_read/SSL_write etc, may now start<br>
returning an SSL_ERROR_WANT_ASYNC response (if an async capable engine<br>
is present). To resume you simply recall SSL_read/SSL_write in the same<br>
way as you would if you got an SSL_ERROR_WANT_READ or<br>
SSL_ERROR_WANT_WRITE. Similarly to above you must do this from the same<br>
thread as the original call.<br></blockquote><div> </div><div>Does this also mean that there will not be any libssl API change?<br><br></div><div>I have been developing async calls of TLS I/O using bio pair, for instance<br></div><div>for SSL_read, it is something like<br><br></div><div>> int evt_tls_read( evt_tls_t *tls, void (*cb)(evt_tls_t* t, char *buf, int sz))<br><br></div><div>The cb will be called asynchronously whenever there is application data. <br><br></div><div>Will there be any such change? Such API's will make integrating OpenSSL with other <br></div><div>async lib like libevent, libev and libuv etc.<br><br></div><div>Please forgive me if I am asking a dumb question without looking at code changes done.<br></div><div><br>-- <br></div></div><div class="gmail_signature"><div dir="ltr"><div>Warm Regards<br>--Dev<br></div></div></div>
</div></div>