Once the handshake is complete and peer's identity
has been verified data can be exchanged. The available
functions resemble the POSIX @code{recv} and @code{send}
-functions.
+functions. It is suggested to use @funcref{gnutls_error_is_fatal}
+to check whether the error codes returned by these functions are
+fatal for the protocol or can be ignored.
@showfuncdesc{gnutls_record_send}
@showfuncdesc{gnutls_record_recv}
+@showfuncdesc{gnutls_error_is_fatal}
+
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
* @error: is a GnuTLS error code, a negative error code
*
* If a GnuTLS function returns a negative error code you may feed that
- * value to this function to see if the error condition is fatal.
- *
- * Note that you may want to check the error code manually, since some
- * non-fatal errors to the protocol may be fatal for you program.
+ * value to this function to see if the error condition is fatal.
+ * Note that you may also want to check the error code manually, since some
+ * non-fatal errors to the protocol (such as a warning alert or
+ * a rehandshake request) may be fatal for your program.
*
* This function is only useful if you are dealing with errors from
* the record layer or the handshake layer.