- [Bug #21803] `Addrinfo#connect_internal` should raise `IO::TimeoutError` on user-specified timeouts - I’d like to make `Socket.tcp` consistently raise `IO::TimeoutError` when a user-specified timeout occurs, rather than raising `Err...shioimm (Misaki Shioi)
## Background & Proposal `Addrinfo#connect_internal` is a core internal method that is called by both `Addrinfo#connect` and `Addrinfo#connect_from`. It receives a user-specified timeout value from these methods and currently raises ...shioimm (Misaki Shioi)
I appreciate your proposal, but it’s difficult to go along with it. While the proposal is aimed at improving the convenience of `TCPSocket.open`, changing its implementation just for compatibility with Ruby 3.4 and below feels a bit too...shioimm (Misaki Shioi)
### Description This change fixes an issue where the timeout option in `Addrinfo.getaddrinfo` was not functioning as expected. https://github.com/ruby/ruby/pull/13803/files It also addresses a related issue where specifying `fast_fa...shioimm (Misaki Shioi)
- [Feature #21347] Add `open_timeout` as an overall timeout option for `Socket.tcp` - I propose introducing an option to `Socket.tcp` that raises a timeout exception after a specified period has elapsed since the method started. - ...shioimm (Misaki Shioi)
@osyoyu > Just out of curiosity: Is the example given in https://bugs.ruby-lang.org/issues/21347#note-1 a case when connect_timeout is 1000 ms (not 100 ms) ? It's just a typo. `connect_timeout: 1000ms` is right, sorry. shioimm (Misaki Shioi)
Sorry, the example in the sentence "Currently, a connect_timeout is raised only after the last connection attempt exceeds the timeout." is incorrect. The correct version is as follows: Example: When `connect_timeout: 100ms` is set an...shioimm (Misaki Shioi)
I propose to add an overall timeout option to `Socket.tcp` (and `TCPSocket.new`) ### Background Currently, `TCPSocket.new` and `Socket.tcp` accept two kind of timeout options: - `resolv_timeout`, which controls the timeout for DNS...shioimm (Misaki Shioi)