On Fri, Apr 8, 2016 at 10:36 AM, Alex Bligh <[email protected]> wrote: > Is there a simple, easy to reuse, example of gnu-tls acting like a > proxy which is truly non-blocking? By truly non-blocking I mean using > non-blocking writes as well as non-blocking reads. The danger I > am concerned about is receiving a large amount of plain-text, > gnutls converting that to cypher-text, attempting to write it > but blocking because the remote side is not ready to receive it. > The remote side is not ready to receive it because it has its > own output blocked as gnutls is not polling for reads as > it's blocked above, meaning deadlock.
Blocking is a matter of the underlying socket functions. If you set the sockets to non blocking mode gnutls operates in a non-blocking way almost identically to berkeley sockets. Have you checked the manual? https://www.gnutls.org/manual/html_node/Asynchronous-operation.html The simplest example is mini-eagain.c from the test suite which verifies the asynchronous operation of gnutls_record_send and recv. regards, Nikos _______________________________________________ Gnutls-help mailing list [email protected] http://lists.gnupg.org/mailman/listinfo/gnutls-help
