[ << ] | [ < ] | [ Up ] | [ > ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
7.7 Data transfer and termination
Once the handshake is complete and peer’s identity
has been verified data can be exchanged. The available
functions resemble the POSIX recv
and send
functions. It is suggested to use gnutls_error_is_fatal
to check whether the error codes returned by these functions are
fatal for the protocol or can be ignored.
In DTLS it is adviceable to use the extended receive function shown below, because it allows the extraction of the sequence number. This is required in DTLS because messages may arrive out of order.
The gnutls_record_check_pending helper function is available to
allow checking whether data are available to be read in a GnuTLS session
buffers. Note that this function complements but does not replace select
,
i.e., gnutls_record_check_pending reports no data to be read, select
should be called to check for data in the network buffers.
Once a TLS or DTLS session is no longer needed, it is recommended to use gnutls_bye to terminate the session. That way the peer is notified securely about the intention of termination, which allows distinguishing it from a malicious connection termination. A session can be deinitialized with the gnutls_deinit function.
[ << ] | [ < ] | [ Up ] | [ > ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
This document was generated on January 4, 2012 using texi2html 5.0.