Lines Matching +full:machine +full:- +full:mode +full:- +full:visible
5 openssl-quic-concurrency - OpenSSL QUIC Concurrency Model
27 An explicit QUIC domain is created by and visible to the application as a QUIC
59 The B<Single-Threaded Concurrency Model (SCM)>, which supports only
60 application-synchronised single-threaded usage.
64 The B<Contentive Concurrency Model (CCM)>, which supports multi-threaded usage.
68 The B<Thread-Assisted Concurrency Model (TACM)>, which also supports
69 multi-threaded usage and provides assistance to an application for handling QUIC
80 The B<Single-Threaded Concurrency Model (SCM)> performs no locking or
85 OpenSSL QUIC implementation as a pure state machine.
91 synchronisation for multi-threaded usage of QUIC objects. For example, different
95 This concurrency model adds the overhead of locking over the Single-Threaded
96 Concurrency Model in order to support multi-threaded usage, but provides limited
97 performance in highly contended multi-threaded usage due to its simple approach.
107 The B<Thread-Assisted Concurrency Model (TACM)> is identical to the Contentive
111 into the QUIC domain to ensure that any outstanding QUIC-related timer or
128 calls, where application-level I/O calls (for example, to L<SSL_read_ex(3)> or
132 Supporting blocking API calls reliably with multi-threaded usage requires the
138 to L<SSL_set_blocking_mode(3)> attempting to enable blocking mode may fail,
144 which is only reliable under single-threaded usage. This functionality is always
145 available in the Single-Threaded Concurrency Model (SCM), where it works
151 Mode, and its usage is not recommended for multi-threaded applications.
161 A purely single-threaded application, or an application which wishes to use
162 OpenSSL QUIC as a state machine and manage synchronisation itself, should
167 An application which wants to engage in multi-threaded usage of different QUIC
171 disabling Legacy Blocking Compatibility Mode.
195 Specifying this flag configures the Single-Threaded Concurrency Model (SCM).
204 Specifying this flag configures the Thread-Assisted Concurrency Model (TACM).
218 Enables legacy blocking compatibility mode. See L</Legacy Blocking Support
247 Thread-Assisted Concurrency Model (TACM) is used with the
252 Otherwise, if OpenSSL was built without threading support, the Single-Threaded
282 least one socket, socket-like OS handle or file descriptor must be allocated to
287 If the Thread-Assisted Concurrency Model (TACM) is selected, a background thread
295 Thread-Assisted Concurrency Model.
297 The internal consumption by OpenSSL of sockets, socket-like OS handles or file
298 descriptors, or other resources as needed to support inter-thread notification,
299 is unspecified under the Thread-Assisted Concurrency Model or when using
304 A QUIC SSL object has blocking mode enabled by default where B<all> of the
317 supported poll descriptors. See L<openssl-quic(7)> for details.
321 In all other cases, a QUIC SSL object has blocking mode disabled by default. The
322 blocking mode can be changed explicitly using L<SSL_set_blocking_mode(3)>.
326 L<openssl-quic(7)>, L<SSL_handle_events(3)>, L<SSL_get_event_timeout(3)>,
332 Copyright 2024-2025 The OpenSSL Project Authors. All Rights Reserved.