Lines Matching +full:machine +full:- +full:mode +full:- +full:visible

1 .\" -*- mode: troff; coding: utf-8 -*-
57 .IX Title "OPENSSL-QUIC-CONCURRENCY 7ossl"
58 .TH OPENSSL-QUIC-CONCURRENCY 7ossl 2025-09-30 3.5.4 OpenSSL
64 openssl\-quic\-concurrency \- OpenSSL QUIC Concurrency Model
80 An explicit QUIC domain is created by and visible to the application as a QUIC
103 The \fBSingle-Threaded Concurrency Model (SCM)\fR, which supports only
104 application-synchronised single-threaded usage.
106 The \fBContentive Concurrency Model (CCM)\fR, which supports multi-threaded usage.
108 The \fBThread-Assisted Concurrency Model (TACM)\fR, which also supports
109 multi-threaded usage and provides assistance to an application for handling QUIC
114 The \fBSingle-Threaded Concurrency Model (SCM)\fR performs no locking or
119 OpenSSL QUIC implementation as a pure state machine.
123 synchronisation for multi-threaded usage of QUIC objects. For example, different
127 This concurrency model adds the overhead of locking over the Single-Threaded
128 Concurrency Model in order to support multi-threaded usage, but provides limited
129 performance in highly contended multi-threaded usage due to its simple approach.
137 The \fBThread-Assisted Concurrency Model (TACM)\fR is identical to the Contentive
141 into the QUIC domain to ensure that any outstanding QUIC-related timer or
155 calls, where application-level I/O calls (for example, to \fBSSL_read_ex\fR\|(3) or
159 Supporting blocking API calls reliably with multi-threaded usage requires the
165 to \fBSSL_set_blocking_mode\fR\|(3) attempting to enable blocking mode may fail,
170 which is only reliable under single-threaded usage. This functionality is always
171 available in the Single-Threaded Concurrency Model (SCM), where it works
177 Mode, and its usage is not recommended for multi-threaded applications.
182 A purely single-threaded application, or an application which wishes to use
183 OpenSSL QUIC as a state machine and manage synchronisation itself, should
186 An application which wants to engage in multi-threaded usage of different QUIC
190 disabling Legacy Blocking Compatibility Mode.
206 Specifying this flag configures the Single-Threaded Concurrency Model (SCM).
213 Specifying this flag configures the Thread-Assisted Concurrency Model (TACM).
225 Enables legacy blocking compatibility mode. See "Legacy Blocking Support
247 Thread-Assisted Concurrency Model (TACM) is used with the
250 Otherwise, if OpenSSL was built without threading support, the Single-Threaded
272 least one socket, socket-like OS handle or file descriptor must be allocated to
277 If the Thread-Assisted Concurrency Model (TACM) is selected, a background thread
285 Thread-Assisted Concurrency Model.
287 The internal consumption by OpenSSL of sockets, socket-like OS handles or file
288 descriptors, or other resources as needed to support inter-thread notification,
289 is unspecified under the Thread-Assisted Concurrency Model or when using
293 A QUIC SSL object has blocking mode enabled by default where \fBall\fR of the
300 supported poll descriptors. See \fBopenssl\-quic\fR\|(7) for details.
302 In all other cases, a QUIC SSL object has blocking mode disabled by default. The
303 blocking mode can be changed explicitly using \fBSSL_set_blocking_mode\fR\|(3).
306 \&\fBopenssl\-quic\fR\|(7), \fBSSL_handle_events\fR\|(3), \fBSSL_get_event_timeout\fR\|(3),
311 Copyright 2024\-2025 The OpenSSL Project Authors. All Rights Reserved.