From: "mame (Yusuke Endoh) via ruby-core" Date: 2024-12-12T10:49:14+00:00 Subject: [ruby-core:120209] [Ruby master Feature#20935] API for Globally Enabling/Disabling Happy Eyeballs Version 2 in the Socket Class Issue #20935 has been updated by mame (Yusuke Endoh). @matz approved the new API, and also wanted a configuration to stop happy eyeballs by an environment variable: `RUBY_TCP_NO_FAST_FALLBACK=1`. ---------------------------------------- Feature #20935: API for Globally Enabling/Disabling Happy Eyeballs Version 2 in the Socket Class https://bugs.ruby-lang.org/issues/20935#change-110972 * 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/ ______________________________________________ ruby-core mailing list -- ruby-core@ml.ruby-lang.org To unsubscribe send an email to ruby-core-leave@ml.ruby-lang.org ruby-core info -- https://ml.ruby-lang.org/mailman3/lists/ruby-core.ml.ruby-lang.org/