Feature #12085 » 0001-OpenSSL-SSL-SSLSocket-write_nonblock-expand-document.patch
ext/openssl/lib/openssl/buffering.rb | ||
---|---|---|
# Note that one reason that write_nonblock reads from the underlying IO
|
||
# is when the peer requests a new TLS/SSL handshake. See the openssl FAQ
|
||
# for more details. http://www.openssl.org/support/faq.html
|
||
#
|
||
# By specifying `exception: false`, the options hash allows you to indicate
|
||
# that write_nonblock should not raise an IO::Wait*able exception, but
|
||
# return the symbol :wait_writable or :wait_readable instead.
|
||
#
|
||
# WARNING: Retrying a write_nonblock after a previous IO::Wait*able,
|
||
# or returned :wait_*able must be done with the exact, unmodified
|
||
# +str+ object which triggered the IO::Wait*able exception or
|
||
# :wait_*able return value. Using a duplicate but otherwise identical
|
||
# object will trigger an OpenSSL::SSL::SSLError exception.
|
||
# This is a limitation of the underlying SSL_write(3SSL) function
|
||
# provided by the OpenSSL library.
|
||
def write_nonblock(s, exception: true)
|
||
flush
|
||
-
|