mirror of
https://github.com/openssl/openssl.git
synced 2024-12-15 06:01:37 +08:00
06fb6b9717
Reviewed-by: Matt Caswell <matt@openssl.org> Reviewed-by: Tim Hudson <tjh@openssl.org> Reviewed-by: Tomas Mraz <tomas@openssl.org> (Merged from https://github.com/openssl/openssl/pull/20879)
59 lines
1.8 KiB
Plaintext
59 lines
1.8 KiB
Plaintext
=pod
|
|
|
|
=head1 NAME
|
|
|
|
DTLSv1_get_timeout - determine when a DTLS or QUIC SSL object next needs a
|
|
timeout event to be handled
|
|
|
|
=head1 SYNOPSIS
|
|
|
|
#include <openssl/ssl.h>
|
|
|
|
int DTLSv1_get_timeout(SSL *s, struct timeval *tv);
|
|
|
|
=head1 DESCRIPTION
|
|
|
|
DTLSv1_get_timeout() can be used on a DTLS or QUIC SSL object to determine when
|
|
the SSL object next needs to perform internal processing due to the passage of
|
|
time.
|
|
|
|
Calling DTLSv1_get_timeout() results in I<*tv> being written with an amount of
|
|
time left before the SSL object needs have DTLSv1_handle_timeout() called on it.
|
|
If the SSL object needs to be ticked immediately, I<*tv> is zeroed and the
|
|
function succeeds, returning 1. If no timeout is currently active, this function
|
|
returns 0.
|
|
|
|
This function is only applicable to DTLS and QUIC objects. It fails if called on
|
|
any other kind of SSL object.
|
|
|
|
Note that the value output by a call to DTLSv1_get_timeout() may change as a
|
|
result of other calls to the SSL object.
|
|
|
|
Once the timeout expires, DTLSv1_handle_timeout() should be called to handle any
|
|
internal processing which is due; for more information, see
|
|
L<DTLSv1_handle_timeout(3)>.
|
|
|
|
L<SSL_get_event_timeout(3)> supersedes all use cases for this this function and
|
|
may be used instead of it.
|
|
|
|
=head1 RETURN VALUES
|
|
|
|
On success, writes a duration to I<*tv> and returns 1.
|
|
|
|
Returns 0 on failure, or if no timeout is currently active.
|
|
|
|
=head1 SEE ALSO
|
|
|
|
L<DTLSv1_handle_timeout(3)>, L<SSL_get_event_timeout(3)>, L<ssl(7)>
|
|
|
|
=head1 COPYRIGHT
|
|
|
|
Copyright 2023 The OpenSSL Project Authors. All Rights Reserved.
|
|
|
|
Licensed under the Apache License 2.0 (the "License"). You may not use
|
|
this file except in compliance with the License. You can obtain a copy
|
|
in the file LICENSE in the source distribution or at
|
|
L<https://www.openssl.org/source/license.html>.
|
|
|
|
=cut
|