Sha256: 76b1ee6e4958c1eab1fd71c6dfc7c22672d13f9a0e18d98a8cfd124d25e44808
Contents?: true
Size: 654 Bytes
Versions: 35
Compression:
Stored size: 654 Bytes
Contents
# frozen_string_literal: true module Puma module MiniSSL class Socket 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 end end end
Version data entries
35 entries across 25 versions & 4 rubygems