OSSL_QUIC_CLIENT_METHOD(3ossl)

πŸ’– OSSL_QUIC_CLIENT_METHOD(3ossl) πŸ’–

okay bestie, welcome to the OpenSSL manual for OSSL_QUIC_client_method, OSSL_QUIC_client_thread_method, and OSSL_QUIC_server_method β€” the girlies that hand you SSL_METHOD objects so you can do QUIC-enabled stuff. no cap, this one's short and sweet, so let's go ✨


🌈 SYNOPSIS 🌈

#include <openssl/quic.h>

const SSL_METHOD *OSSL_QUIC_client_method(void);
const SSL_METHOD *OSSL_QUIC_client_thread_method(void);
const SSL_METHOD *OSSL_QUIC_server_method(void);

look at her. three little functions. precious. πŸŽ€


🌸 DESCRIPTION 🌸

So here's the vibe: OSSL_QUIC_client_method(), OSSL_QUIC_client_thread_method(), and OSSL_QUIC_server_method() are all about handing methods over to the SSL_CTX_new_ex(3) function so it can do QUIC protocol support. that's the whole job. it's giving method-provider energy. πŸ’…

Now let's break down the drama between the two client ones, because they are not the same girl:

  • OSSL_QUIC_client_thread_method() uses threads so you can have a blocking mode of operation β€” meaning you don't have to keep returning control to the OpenSSL library just to process time based events. it handles that for you. queen behaviour. πŸ‘‘
  • OSSL_QUIC_client_method() does not use threads, so it depends on nonblocking mode of operation, and on your application periodically calling SSL functions. yes bestie, you have to keep checking in on her. 😭

Then there's OSSL_QUIC_server_method(), which provides server-side QUIC protocol support. important detail: it must be used with the SSL_new_listener(3) API.

🚨 if you try to use OSSL_QUIC_server_method() with SSL_new(3), you get an error. like, it will not work. do not do this. periodt.

✨ RETURN VALUES ✨

All three of these functions return pointers to the constant method objects. simple as that. 🫢


πŸ¦‹ SEE ALSO πŸ¦‹


πŸ’œ HISTORY πŸ’œ

  • OSSL_QUIC_client_method() and OSSL_QUIC_client_thread_method() were added in OpenSSL 3.2.
  • OSSL_QUIC_server_method() was added in OpenSSL 3.5.

glow-up timeline fr fr ⭐


Copyright 2022-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>.


and that's the whole page bestie!! 🌸 this was version 3.5.9, dated 2026-09-29, and yes it lives in the OpenSSL 3ossl manual. mwah, go forth and QUIC responsibly πŸ’–βœ¨πŸ¦‹

πŸ“¦ where this page comes from