/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 | 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 | 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_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 | 89 Where a new BIO is set on a QUIC connection SSL object, blocking mode will be 90 disabled on that SSL object if the BIO cannot support blocking mode. If another 91 BIO is subsequently set on the SSL object which can support blocking mode, 92 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 | OSSL_QUIC_client_method.pod | 21 The OSSL_QUIC_client_thread_method() uses threads to allow for a blocking
|
/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-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 \
|
H A D | WINDOWS.md | 46 - ddd-01-conn-blocking: Blocking example, use of IOCP is not applicable. 51 - ddd-03-fd-blocking: Blocking example, use of IOCP is not applicable.
|
/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/doc/man7/ |
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.
|
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 | openssl-quic.pod | 83 complete (either blocking, or failing appropriately if nonblocking mode is 173 and L<SSL_write(3)> operated in a blocking fashion was directly correlated with 176 application-level blocking mode using L<SSL_set_blocking_mode(3)>. See 182 application can still enjoy blocking semantics for calls to application-level 185 in nonblocking mode. For application-level blocking functionality, see 396 in blocking or nonblocking mode based on whether the underlying network BIO 397 operates in blocking or nonblocking mode. QUIC requires the use of a 398 nonblocking network BIO, therefore the blocking mode at the application level 402 it must add a call to L<SSL_set_blocking_mode(3)> to disable blocking mode. 409 SSL object is used in blocking mode, an ongoing blocking call to an I/O function [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 413 As in the QUIC blocking example we must shutdown the connection when we are 441 As with the blocking QUIC client example, once our connection is finished with [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
|
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
|
H A D | ossl-guide-quic-client-block.pod | 13 - OpenSSL Guide: Writing a simple blocking QUIC client 18 a simple blocking QUIC client application which connects to a server, sends an 30 tutorial will amend the blocking TLS client example that is covered in 39 The complete source code for this example blocking QUIC client is available in 150 trying to write a blocking client. Despite this the B<SSL> object will still 151 have blocking behaviour. See L<ossl-guide-quic-introduction(7)> for further 217 a NUL terminated string). Our original TLS blocking client demo was using
|
H A D | ossl-guide-tls-client-block.pod | 13 - OpenSSL Guide: Writing a simple blocking TLS client 21 We use a blocking socket for the purposes of this example. This means that 28 This blocking behaviour simplifies the implementation of a client because you do 32 The complete source code for this example blocking TLS client is available in 219 Sockets created using the methods described above will automatically be blocking 326 value of 1 is considered a success. For a simple blocking client we only need 459 again which (with a blocking socket) would block until the "close_notify" is 508 network route between the client and the server; or a firewall is blocking the 568 simple TLS server handling one client at a time over a blocking socket.
|
/openssl/test/ |
H A D | quic_multistream_test.c | 689 h->blocking = blocking; in helper_init() 759 if (!blocking) in helper_init() 820 if (h->blocking) { in helper_init() 1102 if (!h->blocking) { in run_script_worker() 1112 if (h->blocking) in run_script_worker() 1206 if (!h->blocking) in run_script_worker() 1682 if (h->blocking in run_script_worker() 2085 int blocking) in run_script() argument 5845 blocking = idx % 2; in test_script() 5850 if (blocking && free_order) in test_script() [all …]
|