OSSL_QUIC_CLIENT_METHOD(3)

NAME
OSSL_QUIC_client_method, OSSL_QUIC_client_thread_method, OSSL_QUIC_server_method, OSSL_QUIC_method - Provide SSL_METHOD objects for QUIC enabled functions

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);
 const SSL_METHOD *OSSL_QUIC_method(void);

DESCRIPTION
The OSSL_QUIC_client_method(), OSSL_QUIC_client_thread_method(), and OSSL_QUIC_server_method() functions provide methods for the SSL_CTX_new_ex(3) function to provide QUIC protocol support.

The OSSL_QUIC_client_thread_method() uses threads to allow for a blocking mode of operation and avoid the need to return control to the OpenSSL library for processing time based events. The OSSL_QUIC_client_method() does not use threads and depends on nonblocking mode of operation and the application periodically calling SSL functions.

The OSSL_QUIC_server_method() provides server-side QUIC protocol support and must be used with the SSL_new_listener(3) API. Attempting to use OSSL_QUIC_server_method() with SSL_new(3) will result in an error.

The OSSL_QUIC_method() provides generic QUIC protocol support when a user wishes to defer selection of server or client protocol functionality until such time as a connection is made. This is similar to the functionality provided by DTLS_method(3), and can be used with the SSL_listen_ex() call, which behaves similarly to DTLSv1_listen(3).

RETURN VALUES
These functions return pointers to the constant method objects.

SEE ALSO
SSL_CTX_new_ex(3), SSL_new_listener(3), SSL_listen_ex(3)

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.

OSSL_QUIC_method() was added in OpenSSL 4.0.

COPYRIGHT
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>.