SSL_STREAM_CONCLUDE(3ossl)

πŸ’… SSL_STREAM_CONCLUDE πŸ’…

okay bestie, welcome to the SSL_stream_conclude(3ossl) page from the OpenSSL manuals ✨ this one's short and sweet and it's literally just about politely telling a QUIC stream "we're done sending, mwah, bye 🫢"


✨ NAME ✨

SSL_stream_conclude β€” conclude the sending part of a QUIC stream πŸŽ€


🌸 SYNOPSIS 🌸

#include <openssl/ssl.h>

__owur int SSL_stream_conclude(SSL *s, uint64_t flags);

πŸ¦‹ DESCRIPTION πŸ¦‹

SSL_stream_conclude() signals the normal end-of-stream condition for the send part of a QUIC stream. If you call it on a QUIC connection SSL object that has an associated default stream, it signals the end of that single stream to the peer. one stream, one goodbye, periodt πŸ’Œ

Any data you already queued for transmission via a call to SSL_write() is still gonna get written in a reliable manner before the end-of-stream is signalled β€” assuming the connection stays healthy, bestie 🀞 So like, think of this function as appending a little logical end-of-stream marker after any data that was previously written to the stream via SSL_write() calls. And if you try to call SSL_write() again after this? it will fail. no take-backs, it's giving final answer πŸ’€

When you call this on a stream, the receive part of the stream is completely unaffected β€” the peer can keep sending data until it also signals the end of the stream. so yes, SSL_read() is still very much usable, bestie, don't panic πŸ™ˆ

flags is reserved and should be set to 0. don't be cute with it, just zero it πŸŽ€

Only the first call to this function has any effect for a given stream β€” subsequent calls are no-ops. and guess what, that's considered a success case ✨ iconic behaviour, honestly.

⚠️ This function is not supported on an object other than a QUIC stream SSL object. it's giving "QUIC streams only, everyone else go home" πŸ’…

⭐ RETURN VALUES ⭐

  • Returns 1 on success πŸ₯³
  • Returns 0 on failure 😭
  • Returns 0 if called on an SSL object that doesn't represent a QUIC stream πŸ‘‘

πŸ”₯ SEE ALSO πŸ”₯


🌈 HISTORY 🌈

The SSL_stream_conclude() function was added in OpenSSL 3.2. a newer-era queen πŸ‘‘


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 <https://www.openssl.org/source/license.html>.


and that's the whole page bestie!! this lil rewrite is living its best life as version 3.5.9, dated 2026-09-29 β€” go forth and conclude those streams responsibly, ily, mwah πŸ˜˜πŸ’…βœ¨

πŸ“¦ where this page comes from