Subject: Re: How to structure code for multiple sessions with async API

Re: How to structure code for multiple sessions with async API

From: Salvador Fandiño <sfandino_at_gmail.com>
Date: Tue, 27 Oct 2015 10:05:09 +0100

On 10/27/2015 09:16 AM, Sanchay Harneja wrote:
>
> I've tested this and it seems to be working but I'm not really utilizing
> the keepalive_send's output seconds value.

If I am understanding libssh2 code correctly, libssh2_keepalive_send can
not work reliably in non-blocking mode as it converts
LIBSSH2_ERROR_SOCKET_EAGAIN errors from _libssh2_transport_send into
LIBSSH2_ERROR_SOCKET_SEND and leaves the transport layer in an
inconsistent state.

In other words, if you call libssh2_keepalive_send and for any reason
the keep-alive packet can not be immediately delivered, the connection
becomes corrupted.

_______________________________________________
libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel
Received on 2015-10-27