class OpenSSL::SSL::SSLServer

Public Instance Methods

accept_nonblock() click to toggle source

Non-blocking version of accept, stolen directly from the blocking version, OpenSSL::SSL::SSLServer#accept.

# File lib/raptor-io/ruby/openssl.rb, line 8
def accept_nonblock
  sock = @svr.accept_nonblock

  begin
    ssl = OpenSSL::SSL::SSLSocket.new(sock, @ctx)
    ssl.sync_close = true
    ssl.accept if @start_immediately
    ssl
  rescue OpenSSL::SSL::SSLError => ex
    sock.close
    raise ex
  end
end