
ngtcp2_crypto_ossl_configure_client_session
===========================================

Synopsis
--------

*#include <ngtcp2/ngtcp2_crypto_ossl.h>*

.. function:: int ngtcp2_crypto_ossl_configure_client_session(SSL *ssl)

    
    `ngtcp2_crypto_ossl_configure_client_session` configures *ssl* for
    client side QUIC connection.  It performs the following
    modifications:
    
    - Register callbacks via ``SSL_set_quic_tls_cbs``
    
    Application must set a pointer to :type:`ngtcp2_crypto_conn_ref` to
    SSL object by calling SSL_set_app_data, and
    :type:`ngtcp2_crypto_conn_ref` object must have
    :member:`ngtcp2_crypto_conn_ref.get_conn` field assigned to get
    :type:`ngtcp2_conn`.
    
    Application must call ``SSL_set_app_data(ssl, NULL)`` before
    calling ``SSL_free(ssl)`` if you cannot make `ngtcp2_conn` object
    alive until ``SSL_free`` is called.
    
    It returns 0 if it succeeds, or -1.
