Class: Net::BufferedIO
- Inherits:
-
Object
- Object
- Net::BufferedIO
- Defined in:
- lib/net/http/faster.rb
Overview
Aaron Patterson’s monkeypatch (accepted into 1.9.1) to fix Net::HTTP’s speed problems.
Instance Method Summary collapse
Instance Method Details
#old_rbuf_fill ⇒ Object
:nodoc:
10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
# File 'lib/net/http/faster.rb', line 10 def rbuf_fill if @io.respond_to? :read_nonblock then begin @rbuf << @io.read_nonblock(65536) rescue Errno::EWOULDBLOCK, Errno::EAGAIN => e retry if IO.select [@io], nil, nil, @read_timeout raise Timeout::Error, e. end else # SSL sockets do not have read_nonblock timeout @read_timeout do @rbuf << @io.sysread(65536) end end end |
#rbuf_fill ⇒ Object
12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
# File 'lib/net/http/faster.rb', line 12 def rbuf_fill if @io.respond_to? :read_nonblock then begin @rbuf << @io.read_nonblock(65536) rescue Errno::EWOULDBLOCK, Errno::EAGAIN => e retry if IO.select [@io], nil, nil, @read_timeout raise Timeout::Error, e. end else # SSL sockets do not have read_nonblock timeout @read_timeout do @rbuf << @io.sysread(65536) end end end |