mirror of
https://github.com/puma/puma.git
synced 2022-11-09 13:48:40 -05:00
ab8dbfeb96
Puma::IOBuffer is a very simple memory buffer that allows for fast append without additional object overhead. Additionally, turns out that IO#write on 1.9.3 is extremely non-performant because it allows a Hash object on every invocation. Avoid calling IO#write in a loop on 1.9.3! Use IO#syswrite if you can (for instance when you don't care about the encoding of the output (sockets)).
23 lines
486 B
Ruby
23 lines
486 B
Ruby
require 'openssl'
|
|
|
|
module OpenSSL
|
|
module SSL
|
|
class SSLServer
|
|
unless public_method_defined? :accept_nonblock
|
|
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 SSLError => ex
|
|
sock.close
|
|
raise ex
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|