On Fri, 9 Sep 2011, liuzl wrote:

The EAGAIN returned from adjusting the receive window is not really EAGAIN, actually it is a BAD_USE.

I don't get this explanation.

In the function _libssh2_channel_receive_window_adjust() there's a call to _libssh2_transport_send(). If this transport function returns EAGAIN, then that will be returned from the receive window function. All other errors will cause a LIBSSH2_ERROR_SOCKET_SEND to get returned.

I don't see how the receive window function would cause a BAD_USE return code. Can you elaborate?

If we don't receiving data until the window-adjust packet sent. Actually we will wait until all request packets sent(4 * buffer_size / 2000).

Why? There's a check of the window_size in every call to _libssh2_channel_read() ?

--

 / daniel.haxx.se
_______________________________________________
libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel

Reply via email to