Method: OpenSSL::SSL::SSLSocket#connect_nonblock

Defined in:
ossl_ssl.c

#connect_nonblockself

Initiates the SSL/TLS handshake as a client in non-blocking manner.

# emulates blocking connect
begin
  ssl.connect_nonblock
rescue IO::WaitReadable
  IO.select([s2])
  retry
rescue IO::WaitWritable
  IO.select(nil, [s2])
  retry
end

Returns:

  • (self)


1348
1349
1350
1351
1352
1353
# File 'ossl_ssl.c', line 1348

static VALUE
ossl_ssl_connect_nonblock(VALUE self)
{
    ossl_ssl_setup(self);
    return ossl_start_ssl(self, SSL_connect, "SSL_connect", 1);
}