/openssl/doc/man3/ |
H A D | SSL_set_blocking_mode.pod | 5 SSL_set_blocking_mode, SSL_get_blocking_mode - configure blocking mode for a 12 int SSL_set_blocking_mode(SSL *s, int blocking); 17 SSL_set_blocking_mode() can be used to enable or disable blocking mode on a QUIC 18 connection SSL object. By default, blocking is enabled, unless the SSL object is 20 descriptor (see L<BIO_get_rpoll_descriptor(3)>), as blocking mode cannot be 23 To enable blocking mode, call SSL_set_blocking_mode() with I<blocking> set to 1; 24 to disable it, call SSL_set_blocking_mode() with I<blocking> set to 0. 26 To retrieve the current blocking mode, call SSL_get_blocking_mode(). 34 of SSL object, such as those for TLS, automatically function in blocking or 44 re-enable blocking mode in this case, an application must set a network BIO [all …]
|
H A D | BIO_should_retry.pod | 77 If the underlying I/O structure is in a blocking mode almost all current 84 retry even if the underlying I/O structure is blocking, if a handshake 89 While an application may retry a failed non blocking call immediately 98 conditions of several non blocking BIOs in a single select() call 106 is to use non blocking I/O and use a timeout on the select() (or 111 The OpenSSL ASN1 functions cannot gracefully deal with non blocking I/O:
|
H A D | BIO_s_connect.pod | 92 BIO_set_nbio() sets the non blocking I/O flag to B<n>. If B<n> is 93 zero then blocking I/O is set. If B<n> is 1 then non blocking I/O 96 non blocking I/O is set during the connect process. 105 The call BIO_should_retry() should be used for non blocking connect BIOs 124 If blocking I/O is set then a non positive return value from any 143 If non blocking I/O is set then retries will be requested as appropriate.
|
H A D | SSL_new_stream.pod | 47 is configured in blocking mode) until a new stream can be created, or otherwise 50 This function operates in blocking mode if the QUIC connection SSL object is 51 configured in blocking mode (see L<SSL_set_blocking_mode(3)>). It may also be 52 used in nonblocking mode on a connection configured in blocking mode by passing
|
H A D | SSL_accept_stream.pod | 25 nonblocking mode) or waits for an incoming stream (in blocking mode). This 26 function may still return NULL in blocking mode, for example if the underlying 33 blocking mode (see L<SSL_set_blocking_mode(3)>), but this may be bypassed by
|
H A D | SSL_set_bio.pod | 98 Where a new BIO is set on a QUIC connection SSL object, blocking mode will be 99 disabled on that SSL object if the BIO cannot support blocking mode. If another 100 BIO is subsequently set on the SSL object which can support blocking mode, 101 blocking mode will not be automatically re-enabled. For more information, see
|
H A D | SSL_handle_events.pod | 53 Ordinarily, when an application uses an SSL object in blocking mode, it does not 61 Calling SSL_handle_events() on a QUIC connection SSL object being used in blocking mode 64 one call to the SSL object is blocking, no such call is needed. However,
|
H A D | BIO_read.pod | 89 One technique sometimes used with blocking sockets is to use a system call 96 should be combined with non blocking I/O so successive reads will request 97 a retry instead of blocking.
|
H A D | SSL_CTX_set_domain_flags.pod | 61 Enable reliable support for blocking I/O calls, allocating whatever OS resources 67 Enables legacy blocking compatibility mode. See
|
/openssl/doc/designs/quic-design/ |
H A D | quic-io-arch.md | 30 - We want to support both blocking and non-blocking semantics 63 libssl, which will support both blocking and non-blocking I/O. 86 configured in blocking mode or not. 170 by blocking I/O. 208 ### Use of non-blocking I/O 222 either blocking or non-blocking semantics to the application, based on what the 261 build blocking semantics out of a non-blocking QUIC instance; this is not 332 non-blocking I/O internally. Applications can use blocking or non-blocking I/O 492 Traditionally an SSL object has operated either in blocking mode or non-blocking 504 non-blocking mode: [all …]
|
H A D | quic-concurrency.md | 10 with. Moreover, blocking I/O at an application level may not be supported. 18 and polling solution which can support blocking API calls in a Berkeley 26 non-blocking basis. Determining *when* to do anything is largely the 68 This model may be used either in a variant which does not support blocking 69 (NB-CCM) or which does support blocking (B-CCM). The blocking variant must 70 spin up additional OS resources to correctly support blocking semantics. 111 - **Blocking Supported:** Whether blocking calls to e.g. `SSL_read` can be 119 another thread which is currently blocking in an OS socket polling call such 121 the table above are required only if blocking support is desired.
|
H A D | quic-api.md | 35 …`SSL_set_blocking_mode`, `SSL_get_blocking_mode`](#-ssl-set-blocking-mode----ssl-get-blocking-mode… 48 - [Notes on Blocking](#notes-on-blocking) 225 error occurs if in blocking mode (including the peek functions). 467 operated in blocking or non-blocking mode automatically as an emergent 595 In blocking mode, the function will return once the closure process is 615 by initiating a rapid or non-blocking shutdown and continuing to call 620 effect of this flag is to partially disable blocking behaviour in blocking mode, 897 connection SSL object can be in blocking mode to allow for blocking 899 non-blocking mode concurrently. 1434 **Q. Does `ENABLE_PARTIAL_WRITE` interact with blocking mode?** [all …]
|
/openssl/doc/designs/ddd/ |
H A D | REPORT.md | 33 ddd-01-conn-blocking 73 - Change of method (as for ddd-01-conn-blocking); 100 - Use of ALPN (as for ddd-01-conn-blocking); 164 - Use of ALPN (as for ddd-01-conn-blocking); 172 ddd-03-fd-blocking 180 - Change of method (as for ddd-01-conn-blocking); 191 - Use of ALPN (as for ddd-01-conn-blocking). 201 - Change of method (as for ddd-01-conn-blocking); 223 - Use of ALPN (as for ddd-01-conn-blocking); 265 - Use of ALPN (as for ddd-01-conn-blocking); [all …]
|
H A D | README.md | 88 * Blk: Whether the application uses blocking or non-blocking I/O. 110 | [ddd-01-conn-blocking](ddd-01-conn-blocking.c) | S-BIOc | A `BIO_s_connect`-based blocking exampl… 112 | [ddd-03-fd-blocking](ddd-03-fd-blocking.c) | S-AOSF | A `SSL_set_fd`-based blocking example demon… 113 | [ddd-04-fd-nonblocking](ddd-04-fd-nonblocking.c) | A-AOSF | A `SSL_set_fd`-based non-blocking exa… 114 | [ddd-05-mem-nonblocking](ddd-05-mem-nonblocking.c) | A-BIOm | A non-blocking example based on use… 115 | [ddd-06-mem-uv](ddd-06-mem-uv.c) | A-BIOm | A non-blocking example based on use of a memory buffe…
|
H A D | Makefile | 12 TESTS_BASE = ddd-01-conn-blocking \ 15 ddd-03-fd-blocking \
|
/openssl/doc/man7/ |
H A D | openssl-quic-concurrency.pod | 127 All of the supported concurrency models are capable of supporting blocking I/O 130 serviced. This includes the use of L<SSL_poll(3)> in a blocking fashion. 132 Supporting blocking API calls reliably with multi-threaded usage requires the 137 the chosen concurrency model, blocking API calls may not be available and calls 138 to L<SSL_set_blocking_mode(3)> attempting to enable blocking mode may fail, 169 concurrency model and b) explicitly opt in or out of blocking I/O support 170 (depending on whether the application wishes to make blocking I/O calls), 218 Enables legacy blocking compatibility mode. See L</Legacy Blocking Support 283 allow one thread to wake other threads which may be blocking in calls to OS 304 A QUIC SSL object has blocking mode enabled by default where B<all> of the [all …]
|
H A D | ossl-guide-quic-introduction.pod | 36 "head-of-line blocking"). It also enables an application to open additional 94 Fortunately a blocking application that does not leave the QUIC connection idle, 156 applications is the way that blocking is implemented. In TLS if your application 157 expects blocking behaviour then you configure the underlying socket for 158 blocking. Conversely if your application wants nonblocking behaviour then the 163 in blocking mode. So, from an application's perspective, calls to functions such 165 block. OpenSSL itself provides that blocking capability for QUIC instead of the 172 concepts in order to write a simple blocking QUIC client. 175 concepts in order to write a simple blocking QUIC server.
|
H A D | ossl-guide-introduction.pod | 78 =item L<ossl-guide-tls-client-block(7)>: Writing a simple blocking TLS client 82 =item L<ossl-guide-tls-server-block(7)>: Writing a simple blocking TLS server 86 =item L<ossl-guide-quic-client-block(7)>: Writing a simple blocking QUIC client 88 =item L<ossl-guide-quic-server-block(7)>: Writing a simple blocking QUIC server
|
H A D | ossl-guide-tls-client-non-block.pod | 19 blocking TLS client. On this page we will amend that demo code so that it 27 As we saw in the previous example a blocking socket is one which waits (blocks) 50 the socket into nonblocking mode. A socket will be default be blocking. The 217 this. The steps do this are the same as for a blocking client and are explained 223 As in the demo for a blocking TLS client we use the L<SSL_connect(3)> function 245 As with the blocking TLS client demo we use the L<SSL_write_ex(3)> function to 256 blocking tutorial (L<ossl-guide-tls-client-block(7)>) we write the request 325 As in the TLS blocking example we must shutdown the connection when we are 358 As with the blocking TLS client example, once our connection is finished with we 360 blocking example, so we won't repeat it here. [all …]
|
H A D | ossl-guide-quic-client-non-block.pod | 19 blocking QUIC client. On this page we will amend that demo code so that it 28 nonblocking socket. However, despite this, the B<SSL> object still has blocking 29 behaviour. When the B<SSL> object has blocking behaviour then this means that 271 this. Most of the steps to do this are the same as for a blocking client and are 276 (the default is blocking mode). To do that we use the 285 printf("Failed to turn off blocking mode\n"); 311 As in the demo for a blocking QUIC client we use the L<SSL_connect(3)> function 333 As with the blocking QUIC client demo we use the L<SSL_write_ex(3)> function to 420 As in the QUIC blocking example we must shutdown the connection when we are 448 As with the blocking QUIC client example, once our connection is finished with [all …]
|
H A D | openssl-quic.pod | 84 complete (either blocking, or failing appropriately if nonblocking mode is 174 and L<SSL_write(3)> operated in a blocking fashion was directly correlated with 177 application-level blocking mode using L<SSL_set_blocking_mode(3)>. See 183 application can still enjoy blocking semantics for calls to application-level 186 in nonblocking mode. For application-level blocking functionality, see 403 in blocking or nonblocking mode based on whether the underlying network BIO 404 operates in blocking or nonblocking mode. QUIC requires the use of a 405 nonblocking network BIO, therefore the blocking mode at the application level 409 it must add a call to L<SSL_set_blocking_mode(3)> to disable blocking mode. 416 regularly. If the SSL object is used in blocking mode, an ongoing blocking call [all …]
|
H A D | ossl-guide-quic-multi-stream.pod | 92 will block until one is available if the connection object is in blocking mode 116 In blocking mode this will either be a fatal error (e.g. B<SSL_ERROR_SYSCALL> 166 We will build on the example code for the simple blocking QUIC client that is 169 blocking QUIC client and the multi-stream QUIC client. Although the example code 170 uses blocking B<SSL> objects, you can equally use nonblocking B<SSL> objects. 240 writing to B<stream2> second. Remember that our client is blocking so these 284 In a blocking application like this one calls to L<SSL_read_ex(3)> will either 291 function to find out more details. Since this is a blocking application this 347 blocking application this will wait indefinitely until the new stream has 358 * We're using blocking mode so this will block until a stream becomes
|
/openssl/demos/ |
H A D | README.txt | 36 quic-client-block.c: A simple blocking QUIC client 37 quic-client-non-block.c: A simple non-blocking QUIC client 39 tls-client-block.c: A simple blocking SSL/TLS client 40 tls-client-non-block.c: A simple non-blocking SSL/TLS client
|
/openssl/demos/quic/server/ |
H A D | README.md | 5 connection at a time. It demonstrates blocking use of the QUIC server API.
|
/openssl/doc/designs/quic-design/server/ |
H A D | quic-polling.md | 9 …imple Blocking or Non-Blocking Application](#use-case-a--simple-blocking-or-non-blocking-applicati… 150 be in blocking or non-blocking mode. It wants to block until any of these have 1021 * (non-blocking mode); the timeout argument is ignored. 1045 * cause a blocking call to SSL_POLL_GROUP_change_poll to return.) 1187 * immediately start blocking for events. 1265 * Find out what is ready without blocking. 1659 - Application uses it in blocking mode and sets network BIOs 1675 - poll those poll descriptors. If not, blocking cannot be supported. 1832 blocking when making blocking calls. It is never used currently if no QUIC SSL 2076 * If a function is called in non-blocking mode and it cannot execute [all …]
|