[ruby-core:119829] [Ruby master Feature#20782] Introduction of Happy Eyeballs Version 2 (RFC8305) in TCPSocket.new
From:
"hsbt (Hiroshi SHIBATA) via ruby-core" <ruby-core@...>
Date:
2024-11-08 00:21:01 UTC
List:
ruby-core #119829
SXNzdWUgIzIwNzgyIGhhcyBiZWVuIHVwZGF0ZWQgYnkgaHNidCAoSGlyb3NoaSBTSElCQVRBKS4N Cg0KDQpAc2hpb2ltbSBDYW4geW91IHByb3ZpZGUgcmVxdWlyZWQvb3B0aW9uYWwgaW5mb3JtYXRp b24gYXQgaHR0cHM6Ly9naXRodWIuY29tL3J1YnkvcnVieS93aWtpL0NvbW1pdHRlci1Ib3ctVG8j aG93LXRvLXJlZ2lzdGVyLXlvdS1hcy1hLWNvbW1pdHRlciB0byBjdnMtYWRtaW5AcnVieS1sYW5n Lm9yZz8gQWZ0ZXIgdGhhdCwgSSB3aWxsIHByZXBhcmUgeW91ciBhY2NvdW50IGZvciBSdWJ5IGNv bW1pdHRlci4NCg0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KRmVh dHVyZSAjMjA3ODI6IEludHJvZHVjdGlvbiBvZiBIYXBweSBFeWViYWxscyBWZXJzaW9uIDIgKFJG QzgzMDUpIGluIFRDUFNvY2tldC5uZXcNCmh0dHBzOi8vYnVncy5ydWJ5LWxhbmcub3JnL2lzc3Vl cy8yMDc4MiNjaGFuZ2UtMTEwNTE3DQoNCiogQXV0aG9yOiBzaGlvaW1tIChNaXNha2kgU2hpb2kp DQoqIFN0YXR1czogQXNzaWduZWQNCiogQXNzaWduZWU6IG5hcnVzZSAoWXVpIE5BUlVTRSkNCi0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NClRoaXMgaXMgYW4gaW1wbGVt ZW50YXRpb24gb2YgSGFwcHkgRXllYmFsbHMgdmVyc2lvbiAyIChSRkMgODMwNSkgaW4gYFRDUFNv Y2tldC5uZXdgLg0KU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9ydWJ5L3J1YnkvcHVsbC8xMTY1Mw0K DQojIyMgQmFja2dyb3VuZA0KUHJpb3IgdG8gdGhpcyBpbXBsZW1lbnRhdGlvbiwgSSBpbXBsZW1l bnRlZCBIYXBweSBFeWViYWxscyBWZXJzaW9uIDIgKEhFdjIpIGZvciBgU29ja2V0LnRjcGAgaW4g aHR0cHM6Ly9naXRodWIuY29tL3J1YnkvcnVieS9wdWxsLzkzNzQuIA0KSEV2MiBpcyBhbiBhbGdv cml0aG0gZGVmaW5lZCBpbiBbUkZDIDgzMDVdKGh0dHBzOi8vZGF0YXRyYWNrZXIuaWV0Zi5vcmcv ZG9jL2h0bWwvcmZjODMwNSksIGFpbWVkIGF0IGltcHJvdmluZyBuZXR3b3JrIGNvbm5lY3Rpdml0 eS4gDQpGb3IgbW9yZSBkZXRhaWxzIG9uIHRoZSBzcGVjaWZpYyBjYXNlcyB0aGF0IEhFdjIgaGVs cHMsIHBsZWFzZSByZWZlciB0byBodHRwczovL2J1Z3MucnVieS1sYW5nLm9yZy9pc3N1ZXMvMjAx MDguDQoNCiMjIyBQcm9wb3NhbCAmIE91dGNvbWUNClRoaXMgcHJvcG9zYWwgaW1wbGVtZW50cyB0 aGUgc2FtZSBIRXYyIGFsZ29yaXRobSBpbiBgVENQU29ja2V0Lm5ld2AuDQpTaW5jZSBgVENQU29j a2V0Lm5ld2AgaXMgdXNlZCBtb3JlIHdpZGVseSB0aGFuIGBTb2NrZXQudGNwYCwgdGhpcyBjaGFu Z2UgaXMgZXhwZWN0ZWQgdG8gYnJvYWRlbiB0aGUgaW1wYWN0IG9mIEhFdjIncyBiZW5lZml0cy4g DQpMaWtlIGBTb2NrZXQudGNwYCwgSSBoYXZlIGFsc28gYWRkZWQgYGZhc3RfZmFsbGJhY2tgIGtl eXdvcmQgYXJndW1lbnQgdG8gYFRDUFNvY2tldC5uZXdgLiANClRoaXMgb3B0aW9uIGlzIHNldCB0 byB0cnVlIGJ5IGRlZmF1bHQsIGVuYWJsaW5nIHRoZSBIRXYyIGZ1bmN0aW9uYWxpdHkuIA0KSG93 ZXZlciwgdXNlcnMgY2FuIGV4cGxpY2l0bHkgc2V0IGl0IHRvIGZhbHNlIHRvIGRpc2FibGUgSEV2 MiBhbmQgdXNlIHRoZSBwcmV2aW91cyBiZWhhdmlvciBvZiBgVENQU29ja2V0Lm5ld2AuDQoNCkl0 IHNob3VsZCBiZSBub3RlZCB0aGF0IEhFdjIgaXMgZW5hYmxlZCBvbmx5IGluIGVudmlyb25tZW50 cyB3aGVyZSBwdGhyZWFkcyBhcmUgYXZhaWxhYmxlLg0KVGhpcyBzcGVjaWZpY2F0aW9uIGZvbGxv d3MgdGhlIGFwcHJvYWNoIHRha2VuIGluIGh0dHBzOi8vYnVncy5ydWJ5LWxhbmcub3JnL2lzc3Vl cy8xOTk2NSwgd2hlcmUgbmFtZSByZXNvbHV0aW9uIGNhbiBiZSBpbnRlcnJ1cHRlZC4gDQooSW4g ZW52aXJvbm1lbnRzIHdoZXJlIHB0aHJlYWRzIGFyZSBub3QgYXZhaWxhYmxlLCB0aGUgYGZhc3Rf ZmFsbGJhY2tgIG9wdGlvbiBpcyBpZ25vcmVkLikNCg0KIyMjIFBlcmZvcm1hbmNlDQpCZWxvdyBp cyB0aGUgYmVuY2htYXJrIG9mIDEwMCByZXF1ZXN0cyB0byBgd3d3LnJ1YnktbGFuZy5vcmdgIHdp dGggdGhlIGZhc3RfZmFsbGJhY2sgb3B0aW9uIHNldCB0byB0cnVlIGFuZCBmYWxzZSwgcmVzcGVj dGl2ZWx5LiANCldoaWxlIHRoZXJlIGlzIGEgc2xpZ2h0IHBlcmZvcm1hbmNlIGRlZ3JhZGF0aW9u IHdoZW4gSEV2MiBpcyBlbmFibGVkLCB0aGUgZGVncmFkYXRpb24gaXMgc21hbGxlciBjb21wYXJl ZCB0byB0aGF0IHNlZW4gaW4gYFNvY2tldC50Y3BgIC4NCg0KYGBgcnVieQ0KcmVxdWlyZSAnc29j a2V0Jw0KcmVxdWlyZSAnYmVuY2htYXJrJw0KDQpob3N0bmFtZSA9ICJ3d3cucnVieS1sYW5nLm9y ZyINCnBvcnQgPSA4MA0KbiA9IDEwMA0KDQpCZW5jaG1hcmsuYm1ibSBkbyB8eHwNCiAgeC5yZXBv cnQoImZhc3RfZmFsbGJhY2s6IHRydWUiKSBkbw0KICAgIG4udGltZXMgeyBUQ1BTb2NrZXQubmV3 KGhvc3RuYW1lLCBwb3J0KS5jbG9zZSB9DQogIGVuZA0KDQogIHgucmVwb3J0KCJmYXN0X2ZhbGxi YWNrOiBmYWxzZSIpIGRvDQogICAgbi50aW1lcyB7IFRDUFNvY2tldC5uZXcoaG9zdG5hbWUsIHBv cnQsIGZhc3RfZmFsbGJhY2s6IGZhbHNlKS5jbG9zZSB9DQogIGVuZA0KZW5kDQpgYGANCg0KYGBg DQp+L3MvYnVpbGQg4p2v4p2v4p2vIC4uL2luc3RhbGwvYmluL3J1YnkgLi4vcnVieS90ZXN0LnJi DQpSZWhlYXJzYWwgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0NCmZhc3RfZmFsbGJhY2s6IHRydWUgICAgMC4wMTc1ODggICAwLjA5NzA0NSAg IDAuMTE0NjMzICggIDEuNDYwNjY0KQ0KZmFzdF9mYWxsYmFjazogZmFsc2UgICAwLjAxNDAzMyAg IDAuMDc4OTg0ICAgMC4wOTMwMTcgKCAgMS40MTM5NTEpDQotLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSB0b3RhbDogMC4yMDc2NTBzZWMNCg0KICAgICAgICAg ICAgICAgICAgICAgICAgICAgdXNlciAgICAgc3lzdGVtICAgICAgdG90YWwgICAgICAgIHJlYWwN CmZhc3RfZmFsbGJhY2s6IHRydWUgICAgMC4wMjA4OTEgICAwLjEyNDA1NCAgIDAuMTQ0OTQ1ICgg IDEuNDczODE2KQ0KZmFzdF9mYWxsYmFjazogZmFsc2UgICAwLjAxODM5MiAgIDAuMTEwODUyICAg MC4xMjkyNDQgKCAgMS40NjYwMTQpDQpgYGANCg0KDQoNCi0tIA0KaHR0cHM6Ly9idWdzLnJ1Ynkt bGFuZy5vcmcvDQogX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f XwogcnVieS1jb3JlIG1haWxpbmcgbGlzdCAtLSBydWJ5LWNvcmVAbWwucnVieS1sYW5nLm9yZwog VG8gdW5zdWJzY3JpYmUgc2VuZCBhbiBlbWFpbCB0byBydWJ5LWNvcmUtbGVhdmVAbWwucnVieS1s YW5nLm9yZwogcnVieS1jb3JlIGluZm8gLS0gaHR0cHM6Ly9tbC5ydWJ5LWxhbmcub3JnL21haWxt YW4zL2xpc3RzL3J1YnktY29yZS5tbC5ydWJ5LWxhbmcub3JnLw==