DTLSV1_HANDLE_TIMEOUT(3SSL)

✨ DTLSV1_HANDLE_TIMEOUT(3SSL) ✨

okay bestie, welcome to the OpenSSL manual page for DTLSv1_handle_timeout πŸ’– this one lives in the 3SSL corner of your man pages, and it's giving "timers but make it TLS" energy. grab a strawberry πŸ“ and let's go.


🌸 NAME 🌸

DTLSv1_handle_timeout β€” handle a pending timeout event for a DTLS or QUIC SSL object

like... the girl whose whole job is "oh, your timer went off? bet, handling it." πŸ’…


πŸŽ€ SYNOPSIS πŸŽ€

#include <openssl/ssl.h>

int DTLSv1_handle_timeout(SSL *ssl);

that's it, that's the whole vibe. one include, one function, no drama (until there's drama, see RETURN VALUES 😭).


πŸ¦‹ DESCRIPTION πŸ¦‹

So here's the tea, bestie: DTLSv1_handle_timeout() handles any timeout events that have become pending on a DTLS or QUIC SSL object. That's the whole job description. It's the "the timer popped, deal with it" function ✨

And like, how do you know when to call it? Iconic question. You use DTLSv1_get_timeout(3) or SSL_get_event_timeout(3) to figure out when to call DTLSv1_handle_timeout(). They're the ones telling you "hey queen, it's time" ⏰

important lil caveat: this function is only applicable to DTLS or QUIC SSL objects. If you call it on any other kind of SSL object, it returns 0. not a crash, not a scene, just a 0. πŸ™ˆ

Also, real talk: SSL_handle_events(3) supersedes all use cases for this function and may be used instead of it. so like, this one still eats, but SSL_handle_events(3) is the main character now πŸ‘‘


πŸ’œ RETURN VALUES πŸ’œ

three possible outcomes, three moods:

  • Returns 1 β€” there was a pending timeout event and it was handled successfully. slay. ate. no crumbs. πŸŽ‰
  • Returns 0 β€” there was no pending timeout event, or the SSL object is not a DTLS or QUIC object. either way, nothing happened, and that's fine 🫢
  • Returns -1 β€” there was a pending timeout event but it could not be handled successfully. it's giving tragedy. it's giving "we tried." 😭 handle this, don't ignore it.

🌈 SEE ALSO 🌈

go read these next, they're all connected, iykyk:


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

fr fr, read the license before you do anything spicy with this file πŸ’…

and that's the whole page, bestie πŸ§šπŸ’– this was OpenSSL version 4.0.3, dated 2026-09-29, manual section DTLSV1_HANDLE_TIMEOUT(3SSL) β€” go forth, handle those timeouts, and remember: no pending event, no problem πŸŒΈβœ¨πŸŽ€

πŸ“¦ where this page comes from