Automatically generated by Pod::Man 5.0102 (Pod::Simple 3.45)
Standard preamble:
========================================================================
..
.... \*(C` and \*(C' are quotes in nroff, nothing in troff, for use with C<>.
. ds C` "" . ds C' "" 'br\} . ds C` . ds C' 'br\}
Escape single quotes in literal strings from groff's Unicode transform.
If the F register is >0, we'll generate index entries on stderr for
titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
entries marked with X<> in POD. Of course, you'll have to process the
output yourself in some meaningful fashion.
Avoid warning from groff about undefined register 'F'.
.. .nr rF 0 . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF ========================================================================
Title "SSL_SET_DEFAULT_STREAM_MODE 3ossl"
way too many mistakes in technical documents.
When not disabled, a default stream is automatically created on an outgoing connection once SSL_read\|(3) or SSL_write\|(3) is called.
A QUIC stream must be explicitly designated as client-initiated or server-initiated up front. This broadly corresponds to whether an application protocol involves the client transmitting first, or the server transmitting first. As such, if SSL_read\|(3) is called first (before any call to \fBSSL_write\|(3)) after establishing a connection, OpenSSL will wait for the server to open the first server-initiated stream, and then bind this as the default stream. Conversely, if SSL_write\|(3) is called before any call to \fBSSL_read\|(3), OpenSSL assumes the client wishes to transmit first, creates a client-initiated stream, and binds this as the default stream.
By default, the default stream created is bidirectional. If a unidirectional stream is desired, or if the application wishes to disable default stream functionality, SSL_set_default_stream_mode() (discussed below) can be used to accomplish this.
When a QUIC connection SSL object has no default stream currently associated with it, for example because default stream functionality was disabled, calls to functions which require a stream on the QUIC connection SSL object (for example, \fBSSL_read\|(3) and SSL_write\|(3)) will fail.
It is recommended that new applications and applications which rely on multiple streams forego use of the default stream functionality, which is intended for legacy applications.
\fBSSL_set_default_stream_mode() can be used to configure or disable default stream handling. It can only be called on a QUIC connection SSL object prior to any default stream being created. If used, it is recommended to call it immediately after calling SSL_new\|(3), prior to initiating a connection. The argument \fImode may be one of the following options:
A default stream will not be automatically created on a QUIC connection SSL object if the default stream mode is set to SSL_DEFAULT_STREAM_MODE_NONE.
\fBSSL_set_incoming_stream_policy\|(3) interacts significantly with the default stream functionality.
\fBSSL_set_default_stream_mode() fails if it is called after a default stream has already been established.
These functions fail if called on a QUIC stream SSL object or on a non-QUIC SSL object.
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>.