This relates to #5765 which improves use of timeout in net/ and #6001 which introduces Net::HTTP::OpenTimeout.
This patch introduces Net::ReadTimeout as a subclass of Timeout::Error and raises it when a read operation takes too long. Users may use this to distinguish between timeouts for reading and timeouts for connecting to a remote host. For a read timeout the user may wish to retry the operation.
This issue was solved with changeset r35304.
Eric, thank you for reporting this issue.
Your contribution to Ruby is greatly appreciated.
May Ruby be with you.
lib/net/protocol.rb (module Net): Added ReadTimeout to match
OpenTimeout. ReadTimeout is now raised by rbuf_fill instead of
Timeout::Error to help users distinguish what type of timeout
occurred. [ruby-trunk - Feature #6088]
lib/net/pop.rb (module Net): Updated documentation for ReadTimeout
and OpenTimeout.
lib/net/http.rb (module Net): ditto
lib/net/smtp.rb (module Net): ditto
lib/net/telnet.rb (module Net): Net::ReadTimeout is now raised in
waitfor to match Net::Protocol.
test/net/http/test_http.rb: Updated Timeout::Error expectation to
Net::ReadTimeout.