manpagez: man pages & more
man SSL_accept_stream(3)
Home | html | info | man
SSL_ACCEPT_STREAM(3ossl)            OpenSSL           SSL_ACCEPT_STREAM(3ossl)



NAME

       SSL_accept_stream, SSL_get_accept_stream_queue_len,
       SSL_ACCEPT_STREAM_NO_BLOCK - accept an incoming QUIC stream from a QUIC
       peer


SYNOPSIS

        #include <openssl/ssl.h>

        #define SSL_ACCEPT_STREAM_NO_BLOCK

        SSL *SSL_accept_stream(SSL *ssl, uint64_t flags);

        size_t SSL_get_accept_stream_queue_len(SSL *ssl);


DESCRIPTION

       The SSL_accept_stream(3) function attempts to dequeue an incoming stream
       from the given QUIC connection SSL object and returns the newly
       allocated QUIC stream SSL object.

       If the queue of incoming streams is empty, this function returns NULL
       (in nonblocking mode) or waits for an incoming stream (in blocking
       mode). This function may still return NULL in blocking mode, for
       example if the underlying connection is terminated.

       The caller is responsible for managing the lifetime of the returned
       QUIC stream SSL object; for more information, see SSL_free(3).

       This function will block if the QUIC connection SSL object is
       configured in blocking mode (see SSL_set_blocking_mode(3)), but this
       may be bypassed by passing the flag SSL_ACCEPT_STREAM_NO_BLOCK in
       flags. If this flag is set, this function never blocks.

       Calling SSL_accept_stream(3) if there is no default stream already
       present inhibits the future creation of a default stream. See
       openssl-quic(7).

       SSL_get_accept_stream_queue_len() returns the number of incoming
       streams currently waiting in the accept queue.

       These functions can be used from multiple threads for the same QUIC
       connection.

       Depending on whether default stream functionality is being used, it may
       be necessary to explicitly configure the incoming stream policy before
       streams can be accepted; see SSL_set_incoming_stream_policy(3). See
       also "MODES OF OPERATION" in openssl-quic(7) for more information on
       default stream functionality.


RETURN VALUES

       SSL_accept_stream(3) returns a newly allocated QUIC stream SSL object,
       or NULL if no new incoming streams are available, or if the connection
       has been terminated, or if called on a SSL object other than a QUIC
       connection SSL object.  SSL_get_error(3) can be used to obtain further
       information in this case.

       SSL_get_accept_stream_queue_len() returns the number of incoming
       streams currently waiting in the accept queue, or 0 if called on a SSL
       object other than a QUIC connection SSL object.


SEE ALSO

       "MODES OF OPERATION" in openssl-quic(7), SSL_new_stream(3),
       SSL_set_blocking_mode(3), SSL_free(3)


HISTORY

       SSL_accept_stream(3) and SSL_get_accept_stream_queue_len() were added in
       OpenSSL 3.2.


COPYRIGHT

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

3.3.2                             2024-09-04          SSL_ACCEPT_STREAM(3ossl)

openssl 3.3.2 - Generated Sat Sep 21 07:03:10 CDT 2024
© manpagez.com 2000-2024
Individual documents may contain additional copyright information.