DtlsConnectionT.handshake

Attempts a TLS handshake on @conn.

On the client side, it is never necessary to call this method; although the connection needs to perform a handshake after connecting (or after sending a "STARTTLS"-type command) and may need to rehandshake later if the server requests it, #GDtlsConnection will handle this for you automatically when you try to send or receive data on the connection. However, you can call g_dtls_connection_handshake() manually if you want to know for sure whether the initial handshake succeeded or failed (as opposed to just immediately trying to write to @conn, in which case if it fails, it may not be possible to tell if it failed before or after completing the handshake).

Likewise, on the server side, although a handshake is necessary at the beginning of the communication, you do not need to call this function explicitly unless you want clearer error reporting. However, you may call g_dtls_connection_handshake() later on to renegotiate parameters (encryption methods, etc) with the client.

#GDtlsConnection::accept_certificate may be emitted during the handshake.

template DtlsConnectionT(TStruct)
bool
handshake
(
Cancellable cancellable
)

Parameters

cancellable Cancellable

a #GCancellable, or %NULL

Return Value

Type: bool

success or failure

Throws

GException on failure.

Meta

Since

2.48