Sets whether or not conn expects a proper TLS close notification
before the connection is closed. If this is true (the default),
then conn will expect to receive a TLS close notification from its
peer before the connection is closed, and will return a
gio.types.TlsError.Eof error if the connection is closed without proper
notification (since this may indicate a network error, or
man-in-the-middle attack).
In some protocols, the application will know whether or not the
connection was closed cleanly based on application-level data
(because the application-level data includes a length field, or is
somehow self-delimiting); in this case, the close notify is
redundant and sometimes omitted. (TLS 1.1 explicitly allows this;
in TLS 1.0 it is technically an error, but often done anyway.) You
can use gio.tls_connection.TlsConnection.setRequireCloseNotify to tell conn
to allow an "unannounced" connection close, in which case the close
will show up as a 0-length read, as in a non-TLS
#GSocketConnection, and it is up to the application to check that
the data has been fully received.
Note that this only affects the behavior when the peer closes the
connection; when the application calls gio.iostream.IOStream.close itself
on conn, this will send a close notification regardless of the
setting of this property. If you explicitly want to do an unclean
close, you can close conn's #GTlsConnection:base-io-stream rather
than closing conn itself, but note that this may only be done when no other
operations are pending on conn or the base I/O stream.
Sets whether or not conn expects a proper TLS close notification before the connection is closed. If this is true (the default), then conn will expect to receive a TLS close notification from its peer before the connection is closed, and will return a gio.types.TlsError.Eof error if the connection is closed without proper notification (since this may indicate a network error, or man-in-the-middle attack).
In some protocols, the application will know whether or not the connection was closed cleanly based on application-level data (because the application-level data includes a length field, or is somehow self-delimiting); in this case, the close notify is redundant and sometimes omitted. (TLS 1.1 explicitly allows this; in TLS 1.0 it is technically an error, but often done anyway.) You can use gio.tls_connection.TlsConnection.setRequireCloseNotify to tell conn to allow an "unannounced" connection close, in which case the close will show up as a 0-length read, as in a non-TLS #GSocketConnection, and it is up to the application to check that the data has been fully received.
Note that this only affects the behavior when the peer closes the connection; when the application calls gio.iostream.IOStream.close itself on conn, this will send a close notification regardless of the setting of this property. If you explicitly want to do an unclean close, you can close conn's #GTlsConnection:base-io-stream rather than closing conn itself, but note that this may only be done when no other operations are pending on conn or the base I/O stream.