- NAME
- SYNOPSIS
- DESCRIPTION
- RETURN VALUES
- HISTORY
- COPYRIGHT

# NAME

DTLS_timer_cb, DTLS_set_timer_cb - Set callback for controlling DTLS timer duration

# SYNOPSIS

     #include <openssl/ssl.h>

     typedef unsigned int (*DTLS_timer_cb)(SSL *s, unsigned int timer_us);

     void DTLS_set_timer_cb(SSL *s, DTLS_timer_cb cb);

# DESCRIPTION

This function sets an optional callback function for controlling the timeout interval on the DTLS protocol. The callback function will be called by DTLS for every new DTLS packet that is sent.

The callback should return the timeout interval in micro seconds.

The timer_us parameter of the callback is the last set timeout interval returned. On the first invocation of the callback, this value will be 0.

At the beginning of the connection, if no timeout callback has been set via `DTLS_set_timer_cb()`, the default timeout value is 1 second. For all subsequent timeouts, the default behavior is to double the duration up to a maximum of 1 minute.

# RETURN VALUES

Returns void.

# HISTORY

The `DTLS_set_timer_cb()` function was added in OpenSSL 1.1.1.

# COPYRIGHT

Copyright 2017-2025 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 https://www.openssl.org/source/license.html.