class OpenSSL::SSL::SSLServer

Monkey-Patch SSLServer Class

Public Instance Methods

accept_nonblock() click to toggle source

Provide non-blocking accept

# File lib/rxio/misc/openssl_accept_nonblock.rb, line 12
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 Exception => ex
                if ssl
                        ssl.close
                else
                        sock.close
                end
                raise ex
        end
end