| =pod |
| |
| =head1 NAME |
| |
| SSL_stream_conclude - conclude the sending part of a QUIC stream |
| |
| =head1 SYNOPSIS |
| |
| #include <openssl/ssl.h> |
| |
| __owur int SSL_stream_conclude(SSL *s, uint64_t flags); |
| |
| =head1 DESCRIPTION |
| |
| SSL_stream_conclude() signals the normal end-of-stream condition for the send |
| part of a QUIC stream. If called on a QUIC connection SSL object with an |
| associated default stream, it signals the end of the single stream to the peer. |
| |
| Any data already queued for transmission via a call to SSL_write() will still be |
| written in a reliable manner before the end-of-stream is signalled, assuming the |
| connection remains healthy. This function can be thought of as appending a |
| logical end-of-stream marker after any data which has previously been written to |
| the stream via calls to SSL_write(). Further attempts to call SSL_write() after |
| calling this function will fail. |
| |
| When calling this on a stream, the receive part of the stream remains |
| unaffected, and the peer may continue to send data until it also signals the end |
| of the stream. Thus, SSL_read() can still be used. |
| |
| I<flags> is reserved and should be set to 0. |
| |
| Only the first call to this function has any effect for a given stream; |
| subsequent calls are no-ops. This is considered a success case. |
| |
| This function is not supported on an object other than a QUIC stream SSL object. |
| |
| =head1 RETURN VALUES |
| |
| Returns 1 on success and 0 on failure. |
| |
| Returns 0 if called on an SSL object not representing a QUIC stream. |
| |
| =head1 SEE ALSO |
| |
| L<openssl-quic(7)>, L<ssl(7)>, L<SSL_shutdown_ex(3)> |
| |
| =head1 HISTORY |
| |
| The SSL_stream_conclude() function was added in OpenSSL 3.2. |
| |
| =head1 COPYRIGHT |
| |
| Copyright 2022-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 |
| L<https://www.openssl.org/source/license.html>. |
| |
| =cut |