Sha256: e06443a98d84acba85135dd0487539e87530de0d3b6f2dc08894305f5e259814

Contents?: true

Size: 590 Bytes

Versions: 36

Compression:

Stored size: 590 Bytes

Contents

# Monkey patch for faster net/http io
if RUBY_VERSION.to_f < 1.9
  require 'timeout'

  class Net::BufferedIO #:nodoc:
    alias :old_rbuf_fill :rbuf_fill
    def rbuf_fill
      if @io.respond_to?(:read_nonblock)
        begin
          @rbuf << @io.read_nonblock(65536)
        rescue Errno::EWOULDBLOCK
          if IO.select([@io], nil, nil, @read_timeout)
            retry
          else
            raise Timeout::Error, "IO timeout"
          end
        end
      else
        timeout(@read_timeout) do
          @rbuf << @io.sysread(65536)
        end
      end
    end
  end
end

Version data entries

36 entries across 36 versions & 3 rubygems

Version Path
couchrest-1.2.1 lib/couchrest/monkeypatches.rb
dpla-couchrest-1.2.1.pre.dpla lib/couchrest/monkeypatches.rb
vulcan-0.8.2 server/vendor/gems/gems/couchrest-1.1.2/lib/couchrest/monkeypatches.rb
couchrest-1.2.0 lib/couchrest/monkeypatches.rb
vulcan-0.8.1 server/vendor/gems/gems/couchrest-1.1.2/lib/couchrest/monkeypatches.rb
couchrest-1.1.3 lib/couchrest/monkeypatches.rb
vulcan-0.8.0 server/vendor/gems/gems/couchrest-1.1.2/lib/couchrest/monkeypatches.rb
vulcan-0.7.2 server/vendor/gems/gems/couchrest-1.1.2/lib/couchrest/monkeypatches.rb
vulcan-0.7.1 server/vendor/gems/gems/couchrest-1.1.2/lib/couchrest/monkeypatches.rb
vulcan-0.7.0 server/vendor/gems/gems/couchrest-1.1.2/lib/couchrest/monkeypatches.rb
vulcan-0.6.1 server/vendor/gems/gems/couchrest-1.1.2/lib/couchrest/monkeypatches.rb
vulcan-0.6.0 server/vendor/gems/gems/couchrest-1.1.2/lib/couchrest/monkeypatches.rb
vulcan-0.5.0 server/vendor/gems/gems/couchrest-1.1.2/lib/couchrest/monkeypatches.rb
vulcan-0.4.0 server/vendor/gems/gems/couchrest-1.1.2/lib/couchrest/monkeypatches.rb
vulcan-0.3.0 server/vendor/gems/gems/couchrest-1.1.2/lib/couchrest/monkeypatches.rb
vulcan-0.2.5 server/vendor/gems/gems/couchrest-1.1.2/lib/couchrest/monkeypatches.rb
vulcan-0.2.4 server/vendor/gems/gems/couchrest-1.1.2/lib/couchrest/monkeypatches.rb
vulcan-0.2.3 server/vendor/gems/gems/couchrest-1.1.2/lib/couchrest/monkeypatches.rb
vulcan-0.2.2 server/vendor/gems/gems/couchrest-1.1.2/lib/couchrest/monkeypatches.rb
vulcan-0.2.1 server/vendor/gems/gems/couchrest-1.1.2/lib/couchrest/monkeypatches.rb