[ruby-core:119831] [Ruby master Feature#20782] Introduction of Happy Eyeballs Version 2 (RFC8305) in TCPSocket.new
From:
"shioimm (Misaki Shioi) via ruby-core" <ruby-core@...>
Date:
2024-11-08 03:58:40 UTC
List:
ruby-core #119831
SXNzdWUgIzIwNzgyIGhhcyBiZWVuIHVwZGF0ZWQgYnkgc2hpb2ltbSAoTWlzYWtpIFNoaW9pKS4N Cg0KDQpAaHNidA0KSSBzZW50IHRoZW0gdG8gY3ZzLWFkbWluLCB0aGFuayB5b3UuDQoNCi0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCkZlYXR1cmUgIzIwNzgyOiBJbnRy b2R1Y3Rpb24gb2YgSGFwcHkgRXllYmFsbHMgVmVyc2lvbiAyIChSRkM4MzA1KSBpbiBUQ1BTb2Nr ZXQubmV3DQpodHRwczovL2J1Z3MucnVieS1sYW5nLm9yZy9pc3N1ZXMvMjA3ODIjY2hhbmdlLTEx MDUxOQ0KDQoqIEF1dGhvcjogc2hpb2ltbSAoTWlzYWtpIFNoaW9pKQ0KKiBTdGF0dXM6IEFzc2ln bmVkDQoqIEFzc2lnbmVlOiBuYXJ1c2UgKFl1aSBOQVJVU0UpDQotLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpUaGlzIGlzIGFuIGltcGxlbWVudGF0aW9uIG9mIEhhcHB5 IEV5ZWJhbGxzIHZlcnNpb24gMiAoUkZDIDgzMDUpIGluIGBUQ1BTb2NrZXQubmV3YC4NClNlZSBo dHRwczovL2dpdGh1Yi5jb20vcnVieS9ydWJ5L3B1bGwvMTE2NTMNCg0KIyMjIEJhY2tncm91bmQN ClByaW9yIHRvIHRoaXMgaW1wbGVtZW50YXRpb24sIEkgaW1wbGVtZW50ZWQgSGFwcHkgRXllYmFs bHMgVmVyc2lvbiAyIChIRXYyKSBmb3IgYFNvY2tldC50Y3BgIGluIGh0dHBzOi8vZ2l0aHViLmNv bS9ydWJ5L3J1YnkvcHVsbC85Mzc0LiANCkhFdjIgaXMgYW4gYWxnb3JpdGhtIGRlZmluZWQgaW4g W1JGQyA4MzA1XShodHRwczovL2RhdGF0cmFja2VyLmlldGYub3JnL2RvYy9odG1sL3JmYzgzMDUp LCBhaW1lZCBhdCBpbXByb3ZpbmcgbmV0d29yayBjb25uZWN0aXZpdHkuIA0KRm9yIG1vcmUgZGV0 YWlscyBvbiB0aGUgc3BlY2lmaWMgY2FzZXMgdGhhdCBIRXYyIGhlbHBzLCBwbGVhc2UgcmVmZXIg dG8gaHR0cHM6Ly9idWdzLnJ1YnktbGFuZy5vcmcvaXNzdWVzLzIwMTA4Lg0KDQojIyMgUHJvcG9z YWwgJiBPdXRjb21lDQpUaGlzIHByb3Bvc2FsIGltcGxlbWVudHMgdGhlIHNhbWUgSEV2MiBhbGdv cml0aG0gaW4gYFRDUFNvY2tldC5uZXdgLg0KU2luY2UgYFRDUFNvY2tldC5uZXdgIGlzIHVzZWQg bW9yZSB3aWRlbHkgdGhhbiBgU29ja2V0LnRjcGAsIHRoaXMgY2hhbmdlIGlzIGV4cGVjdGVkIHRv IGJyb2FkZW4gdGhlIGltcGFjdCBvZiBIRXYyJ3MgYmVuZWZpdHMuIA0KTGlrZSBgU29ja2V0LnRj cGAsIEkgaGF2ZSBhbHNvIGFkZGVkIGBmYXN0X2ZhbGxiYWNrYCBrZXl3b3JkIGFyZ3VtZW50IHRv IGBUQ1BTb2NrZXQubmV3YC4gDQpUaGlzIG9wdGlvbiBpcyBzZXQgdG8gdHJ1ZSBieSBkZWZhdWx0 LCBlbmFibGluZyB0aGUgSEV2MiBmdW5jdGlvbmFsaXR5LiANCkhvd2V2ZXIsIHVzZXJzIGNhbiBl eHBsaWNpdGx5IHNldCBpdCB0byBmYWxzZSB0byBkaXNhYmxlIEhFdjIgYW5kIHVzZSB0aGUgcHJl dmlvdXMgYmVoYXZpb3Igb2YgYFRDUFNvY2tldC5uZXdgLg0KDQpJdCBzaG91bGQgYmUgbm90ZWQg dGhhdCBIRXYyIGlzIGVuYWJsZWQgb25seSBpbiBlbnZpcm9ubWVudHMgd2hlcmUgcHRocmVhZHMg YXJlIGF2YWlsYWJsZS4NClRoaXMgc3BlY2lmaWNhdGlvbiBmb2xsb3dzIHRoZSBhcHByb2FjaCB0 YWtlbiBpbiBodHRwczovL2J1Z3MucnVieS1sYW5nLm9yZy9pc3N1ZXMvMTk5NjUsIHdoZXJlIG5h bWUgcmVzb2x1dGlvbiBjYW4gYmUgaW50ZXJydXB0ZWQuIA0KKEluIGVudmlyb25tZW50cyB3aGVy ZSBwdGhyZWFkcyBhcmUgbm90IGF2YWlsYWJsZSwgdGhlIGBmYXN0X2ZhbGxiYWNrYCBvcHRpb24g aXMgaWdub3JlZC4pDQoNCiMjIyBQZXJmb3JtYW5jZQ0KQmVsb3cgaXMgdGhlIGJlbmNobWFyayBv ZiAxMDAgcmVxdWVzdHMgdG8gYHd3dy5ydWJ5LWxhbmcub3JnYCB3aXRoIHRoZSBmYXN0X2ZhbGxi YWNrIG9wdGlvbiBzZXQgdG8gdHJ1ZSBhbmQgZmFsc2UsIHJlc3BlY3RpdmVseS4gDQpXaGlsZSB0 aGVyZSBpcyBhIHNsaWdodCBwZXJmb3JtYW5jZSBkZWdyYWRhdGlvbiB3aGVuIEhFdjIgaXMgZW5h YmxlZCwgdGhlIGRlZ3JhZGF0aW9uIGlzIHNtYWxsZXIgY29tcGFyZWQgdG8gdGhhdCBzZWVuIGlu IGBTb2NrZXQudGNwYCAuDQoNCmBgYHJ1YnkNCnJlcXVpcmUgJ3NvY2tldCcNCnJlcXVpcmUgJ2Jl bmNobWFyaycNCg0KaG9zdG5hbWUgPSAid3d3LnJ1YnktbGFuZy5vcmciDQpwb3J0ID0gODANCm4g PSAxMDANCg0KQmVuY2htYXJrLmJtYm0gZG8gfHh8DQogIHgucmVwb3J0KCJmYXN0X2ZhbGxiYWNr OiB0cnVlIikgZG8NCiAgICBuLnRpbWVzIHsgVENQU29ja2V0Lm5ldyhob3N0bmFtZSwgcG9ydCku Y2xvc2UgfQ0KICBlbmQNCg0KICB4LnJlcG9ydCgiZmFzdF9mYWxsYmFjazogZmFsc2UiKSBkbw0K ICAgIG4udGltZXMgeyBUQ1BTb2NrZXQubmV3KGhvc3RuYW1lLCBwb3J0LCBmYXN0X2ZhbGxiYWNr OiBmYWxzZSkuY2xvc2UgfQ0KICBlbmQNCmVuZA0KYGBgDQoNCmBgYA0Kfi9zL2J1aWxkIOKdr+Kd r+KdryAuLi9pbnN0YWxsL2Jpbi9ydWJ5IC4uL3J1YnkvdGVzdC5yYg0KUmVoZWFyc2FsIC0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpmYXN0 X2ZhbGxiYWNrOiB0cnVlICAgIDAuMDE3NTg4ICAgMC4wOTcwNDUgICAwLjExNDYzMyAoICAxLjQ2 MDY2NCkNCmZhc3RfZmFsbGJhY2s6IGZhbHNlICAgMC4wMTQwMzMgICAwLjA3ODk4NCAgIDAuMDkz MDE3ICggIDEuNDEzOTUxKQ0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0gdG90YWw6IDAuMjA3NjUwc2VjDQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAg IHVzZXIgICAgIHN5c3RlbSAgICAgIHRvdGFsICAgICAgICByZWFsDQpmYXN0X2ZhbGxiYWNrOiB0 cnVlICAgIDAuMDIwODkxICAgMC4xMjQwNTQgICAwLjE0NDk0NSAoICAxLjQ3MzgxNikNCmZhc3Rf ZmFsbGJhY2s6IGZhbHNlICAgMC4wMTgzOTIgICAwLjExMDg1MiAgIDAuMTI5MjQ0ICggIDEuNDY2 MDE0KQ0KYGBgDQoNCg0KDQotLSANCmh0dHBzOi8vYnVncy5ydWJ5LWxhbmcub3JnLw0KIF9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KIHJ1YnktY29yZSBtYWls aW5nIGxpc3QgLS0gcnVieS1jb3JlQG1sLnJ1YnktbGFuZy5vcmcKIFRvIHVuc3Vic2NyaWJlIHNl bmQgYW4gZW1haWwgdG8gcnVieS1jb3JlLWxlYXZlQG1sLnJ1YnktbGFuZy5vcmcKIHJ1YnktY29y ZSBpbmZvIC0tIGh0dHBzOi8vbWwucnVieS1sYW5nLm9yZy9tYWlsbWFuMy9saXN0cy9ydWJ5LWNv cmUubWwucnVieS1sYW5nLm9yZy8=