
Issue #20935 has been reported by shioimm (Misaki Shioi). ---------------------------------------- Feature #20935: API for Globally Enabling/Disabling Happy Eyeballs Version 2 in the Socket Class https://bugs.ruby-lang.org/issues/20935 * Author: shioimm (Misaki Shioi) * Status: Open ---------------------------------------- When introducing Happy Eyeballs Version 2 to `Socket.tcp` (https://bugs.ruby-lang.org/issues/20108), it was pointed out that there should be a way to disable this feature (https://bugs.ruby-lang.org/issues/20108#note-7). To address this, I added `fast_fallback: true or false` keyword argument to both `Socket.tcp` and `TCPSocket.new`. Additionally, I introduced two singleton methods to the `Socket` class: `tcp_fast_fallback=` and `tcp_fast_fallback`. These can be used as follows: ```ruby Socket.tcp(host, port, fast_fallback: true) TCPSocket.new(host, port, fast_fallback: true) # Globally controlling HEv2 Socket.tcp_fast_fallback = true # => true Socket.tcp_fast_fallback # => true ``` I apologize for this after the implementation, but I would like to discuss whether adding these APIs is appropriate. -- https://bugs.ruby-lang.org/