|
From: | Sam Varshavchik |
Subject: | Re: select + record_recv |
Date: | Sun, 11 Jul 2010 08:12:04 -0400 |
Nikos Mavrogiannopoulos writes:
Sam Varshavchik wrote:Nikos Mavrogiannopoulos writes:In the early versions of GnuTLS I implemented a hack in order to use select() to check whether there are data to read from the gnutls session. Is this feature actually used? If you want to check for data in a gnutls_session how do you do it?I always thought that the correct logic is: 1) Non-blocking sockets are a must. 2) Check what gnutls_record_check_pending() tells you, first.So do you traverse over all gnutls sessions and use the pending function?
Yes.
23 If there's nothing pending, poll() or select(), and if it indicates that data is available, try gnutls_record_recv(). Now, if gnutls_record_recv() hands you back some data, you do have to consume it. However, this logic seems to work reliably for me, in event-driven situations.Indeed this looks to be the correct approach.
pgpHz7xQtF3v9.pgp
Description: PGP signature
[Prev in Thread] | Current Thread | [Next in Thread] |