Re: [Libevent-users] bufferevent_openssl: readcb not always called for last partial read

2012-08-23 Thread Nick Mathewson
On Wed, Aug 22, 2012 at 1:04 PM, Hochhaus, Andrew wrote: > Thanks. > > On Wed, Aug 22, 2012 at 11:33 AM, Nick Mathewson wrote: >> Hm. Looking at how the output is used, I think that the tristate >> output format is probably a mistake. It wants to return both "did I >> read any data" *and* "am I

Re: [Libevent-users] bufferevent_openssl: readcb not always called for last partial read

2012-08-22 Thread Hochhaus, Andrew
Thanks. On Wed, Aug 22, 2012 at 11:33 AM, Nick Mathewson wrote: > Hm. Looking at how the output is used, I think that the tristate > output format is probably a mistake. It wants to return both "did I > read any data" *and* "am I now blocked", but the current interface > can't express "I read s

Re: [Libevent-users] bufferevent_openssl: readcb not always called for last partial read

2012-08-22 Thread Nick Mathewson
On Tue, Aug 21, 2012 at 11:02 PM, Hochhaus, Andrew wrote: > Hello, > > In libevent-2.0.19-stable, do_read can return 0 (stalled) when some > progress has been made reading. This can occur, for example, when > space[0].iov_len > 0 and the 2nd read attempt returns > SSL_ERROR_WANT_READ. Then conside

Re: [Libevent-users] bufferevent_openssl: readcb not always called for last partial read

2012-08-21 Thread Diwaker Gupta
On Tue, Aug 21, 2012 at 8:02 PM, Hochhaus, Andrew wrote: > Hello, > > In libevent-2.0.19-stable, do_read can return 0 (stalled) when some > progress has been made reading. This can occur, for example, when > space[0].iov_len > 0 and the 2nd read attempt returns > SSL_ERROR_WANT_READ. Then consider

[Libevent-users] bufferevent_openssl: readcb not always called for last partial read

2012-08-21 Thread Hochhaus, Andrew
Hello, In libevent-2.0.19-stable, do_read can return 0 (stalled) when some progress has been made reading. This can occur, for example, when space[0].iov_len > 0 and the 2nd read attempt returns SSL_ERROR_WANT_READ. Then consider_reading may not call _bufferevent_run_readcb if no additional data a