SSL_get_event_timeout.3ossl - Man Page

determine when an SSL object next needs to have events handled

Synopsis

 #include <openssl/ssl.h>

 int SSL_get_event_timeout(SSL *s, struct timeval *tv, int *is_infinite);

Description

SSL_get_event_timeout() determines when the SSL object next needs to perform internal processing due to the passage of time.

All arguments are required; tv and is_infinite must be non-NULL.

Upon the successful return of SSL_get_event_timeout(), one of the following cases applies:

This function is currently applicable only to DTLS and QUIC connection SSL objects. If it is called on any other kind of SSL object, it always outputs infinity. This is considered a success condition.

For DTLS, this function can be used instead of the older DTLSv1_get_timeout(3) function. Note that this function differs from DTLSv1_get_timeout(3) in that the case where no timeout is active is considered a success condition.

Note that the value output by a call to SSL_get_event_timeout() may change as a result of other calls to the SSL object.

Once the timeout expires, SSL_handle_events(3) should be called to handle any internal processing which is due; for more information, see SSL_handle_events(3).

Note that SSL_get_event_timeout() supersedes the older DTLSv1_get_timeout(3) function for all use cases.

If the call to SSL_get_event_timeout() fails, the values of *tv and *is_infinite may still be changed and their values become unspecified.

Return Values

Returns 1 on success and 0 on failure.

See Also

SSL_handle_events(3), DTLSv1_get_timeout(3), ssl(7)

History

The SSL_get_event_timeout() function was added in OpenSSL 3.2.

Referenced By

BIO_get_rpoll_descriptor.3ossl(3), DTLSv1_get_timeout.3ossl(3), DTLSv1_handle_timeout.3ossl(3), openssl-quic.7ossl(7), ossl-guide-quic-client-non-block.7ossl(7), ossl-guide-quic-introduction.7ossl(7), SSL_get_rpoll_descriptor.3ossl(3), SSL_handle_events.3ossl(3).

2024-09-12 3.2.2 OpenSSL