class Puma::MiniSSL::Socket
Public Instance Methods
Source
# File lib/capybara/registrations/patches/puma_ssl.rb, line 6 def read_nonblock(size, *_) wait_states = %i[wait_readable wait_writable] loop do output = engine_read_all return output if output data = @socket.read_nonblock(size, exception: false) raise IO::EAGAINWaitReadable if wait_states.include? data return nil if data.nil? @engine.inject(data) output = engine_read_all return output if output while (neg_data = @engine.extract) @socket.write neg_data end end end