[ruby-core:120151] [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-12-10 07:21:11 UTC
List:
ruby-core #120151
SXNzdWUgIzIwNzgyIGhhcyBiZWVuIHVwZGF0ZWQgYnkgaHNidCAoSGlyb3NoaSBTSElCQVRBKS4N Cg0KU3RhdHVzIGNoYW5nZWQgZnJvbSBBc3NpZ25lZCB0byBDbG9zZWQNCkFzc2lnbmVlIGNoYW5n ZWQgZnJvbSBuYXJ1c2UgKFl1aSBOQVJVU0UpIHRvIHNoaW9pbW0gKE1pc2FraSBTaGlvaSkNCg0K aHR0cHM6Ly9naXRodWIuY29tL3J1YnkvcnVieS9wdWxsLzkzNzQgaGFzIGJlZW4gbWVyZ2VkIGJ5 IEBzaGlvaW1tDQoNCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCkZl YXR1cmUgIzIwNzgyOiBJbnRyb2R1Y3Rpb24gb2YgSGFwcHkgRXllYmFsbHMgVmVyc2lvbiAyIChS RkM4MzA1KSBpbiBUQ1BTb2NrZXQubmV3DQpodHRwczovL2J1Z3MucnVieS1sYW5nLm9yZy9pc3N1 ZXMvMjA3ODIjY2hhbmdlLTExMDkwMw0KDQoqIEF1dGhvcjogc2hpb2ltbSAoTWlzYWtpIFNoaW9p KQ0KKiBTdGF0dXM6IENsb3NlZA0KKiBBc3NpZ25lZTogc2hpb2ltbSAoTWlzYWtpIFNoaW9pKQ0K LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KVGhpcyBpcyBhbiBpbXBs ZW1lbnRhdGlvbiBvZiBIYXBweSBFeWViYWxscyB2ZXJzaW9uIDIgKFJGQyA4MzA1KSBpbiBgVENQ U29ja2V0Lm5ld2AuDQpTZWUgaHR0cHM6Ly9naXRodWIuY29tL3J1YnkvcnVieS9wdWxsLzExNjUz DQoNCiMjIyBCYWNrZ3JvdW5kDQpQcmlvciB0byB0aGlzIGltcGxlbWVudGF0aW9uLCBJIGltcGxl bWVudGVkIEhhcHB5IEV5ZWJhbGxzIFZlcnNpb24gMiAoSEV2MikgZm9yIGBTb2NrZXQudGNwYCBp biBodHRwczovL2dpdGh1Yi5jb20vcnVieS9ydWJ5L3B1bGwvOTM3NC4gDQpIRXYyIGlzIGFuIGFs Z29yaXRobSBkZWZpbmVkIGluIFtSRkMgODMwNV0oaHR0cHM6Ly9kYXRhdHJhY2tlci5pZXRmLm9y Zy9kb2MvaHRtbC9yZmM4MzA1KSwgYWltZWQgYXQgaW1wcm92aW5nIG5ldHdvcmsgY29ubmVjdGl2 aXR5LiANCkZvciBtb3JlIGRldGFpbHMgb24gdGhlIHNwZWNpZmljIGNhc2VzIHRoYXQgSEV2MiBo ZWxwcywgcGxlYXNlIHJlZmVyIHRvIGh0dHBzOi8vYnVncy5ydWJ5LWxhbmcub3JnL2lzc3Vlcy8y MDEwOC4NCg0KIyMjIFByb3Bvc2FsICYgT3V0Y29tZQ0KVGhpcyBwcm9wb3NhbCBpbXBsZW1lbnRz IHRoZSBzYW1lIEhFdjIgYWxnb3JpdGhtIGluIGBUQ1BTb2NrZXQubmV3YC4NClNpbmNlIGBUQ1BT b2NrZXQubmV3YCBpcyB1c2VkIG1vcmUgd2lkZWx5IHRoYW4gYFNvY2tldC50Y3BgLCB0aGlzIGNo YW5nZSBpcyBleHBlY3RlZCB0byBicm9hZGVuIHRoZSBpbXBhY3Qgb2YgSEV2MidzIGJlbmVmaXRz LiANCkxpa2UgYFNvY2tldC50Y3BgLCBJIGhhdmUgYWxzbyBhZGRlZCBgZmFzdF9mYWxsYmFja2Ag a2V5d29yZCBhcmd1bWVudCB0byBgVENQU29ja2V0Lm5ld2AuIA0KVGhpcyBvcHRpb24gaXMgc2V0 IHRvIHRydWUgYnkgZGVmYXVsdCwgZW5hYmxpbmcgdGhlIEhFdjIgZnVuY3Rpb25hbGl0eS4gDQpI b3dldmVyLCB1c2VycyBjYW4gZXhwbGljaXRseSBzZXQgaXQgdG8gZmFsc2UgdG8gZGlzYWJsZSBI RXYyIGFuZCB1c2UgdGhlIHByZXZpb3VzIGJlaGF2aW9yIG9mIGBUQ1BTb2NrZXQubmV3YC4NCg0K SXQgc2hvdWxkIGJlIG5vdGVkIHRoYXQgSEV2MiBpcyBlbmFibGVkIG9ubHkgaW4gZW52aXJvbm1l bnRzIHdoZXJlIHB0aHJlYWRzIGFyZSBhdmFpbGFibGUuDQpUaGlzIHNwZWNpZmljYXRpb24gZm9s bG93cyB0aGUgYXBwcm9hY2ggdGFrZW4gaW4gaHR0cHM6Ly9idWdzLnJ1YnktbGFuZy5vcmcvaXNz dWVzLzE5OTY1LCB3aGVyZSBuYW1lIHJlc29sdXRpb24gY2FuIGJlIGludGVycnVwdGVkLiANCihJ biBlbnZpcm9ubWVudHMgd2hlcmUgcHRocmVhZHMgYXJlIG5vdCBhdmFpbGFibGUsIHRoZSBgZmFz dF9mYWxsYmFja2Agb3B0aW9uIGlzIGlnbm9yZWQuKQ0KDQojIyMgUGVyZm9ybWFuY2UNCkJlbG93 IGlzIHRoZSBiZW5jaG1hcmsgb2YgMTAwIHJlcXVlc3RzIHRvIGB3d3cucnVieS1sYW5nLm9yZ2Ag d2l0aCB0aGUgZmFzdF9mYWxsYmFjayBvcHRpb24gc2V0IHRvIHRydWUgYW5kIGZhbHNlLCByZXNw ZWN0aXZlbHkuIA0KV2hpbGUgdGhlcmUgaXMgYSBzbGlnaHQgcGVyZm9ybWFuY2UgZGVncmFkYXRp b24gd2hlbiBIRXYyIGlzIGVuYWJsZWQsIHRoZSBkZWdyYWRhdGlvbiBpcyBzbWFsbGVyIGNvbXBh cmVkIHRvIHRoYXQgc2VlbiBpbiBgU29ja2V0LnRjcGAgLg0KDQpgYGBydWJ5DQpyZXF1aXJlICdz b2NrZXQnDQpyZXF1aXJlICdiZW5jaG1hcmsnDQoNCmhvc3RuYW1lID0gInd3dy5ydWJ5LWxhbmcu b3JnIg0KcG9ydCA9IDgwDQpuID0gMTAwDQoNCkJlbmNobWFyay5ibWJtIGRvIHx4fA0KICB4LnJl cG9ydCgiZmFzdF9mYWxsYmFjazogdHJ1ZSIpIGRvDQogICAgbi50aW1lcyB7IFRDUFNvY2tldC5u ZXcoaG9zdG5hbWUsIHBvcnQpLmNsb3NlIH0NCiAgZW5kDQoNCiAgeC5yZXBvcnQoImZhc3RfZmFs bGJhY2s6IGZhbHNlIikgZG8NCiAgICBuLnRpbWVzIHsgVENQU29ja2V0Lm5ldyhob3N0bmFtZSwg cG9ydCwgZmFzdF9mYWxsYmFjazogZmFsc2UpLmNsb3NlIH0NCiAgZW5kDQplbmQNCmBgYA0KDQpg YGANCn4vcy9idWlsZCDina/ina/ina8gLi4vaW5zdGFsbC9iaW4vcnVieSAuLi9ydWJ5L3Rlc3Qu cmINClJlaGVhcnNhbCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLQ0KZmFzdF9mYWxsYmFjazogdHJ1ZSAgICAwLjAxNzU4OCAgIDAuMDk3MDQ1 ICAgMC4xMTQ2MzMgKCAgMS40NjA2NjQpDQpmYXN0X2ZhbGxiYWNrOiBmYWxzZSAgIDAuMDE0MDMz ICAgMC4wNzg5ODQgICAwLjA5MzAxNyAoICAxLjQxMzk1MSkNCi0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIHRvdGFsOiAwLjIwNzY1MHNlYw0KDQogICAgICAg ICAgICAgICAgICAgICAgICAgICB1c2VyICAgICBzeXN0ZW0gICAgICB0b3RhbCAgICAgICAgcmVh bA0KZmFzdF9mYWxsYmFjazogdHJ1ZSAgICAwLjAyMDg5MSAgIDAuMTI0MDU0ICAgMC4xNDQ5NDUg KCAgMS40NzM4MTYpDQpmYXN0X2ZhbGxiYWNrOiBmYWxzZSAgIDAuMDE4MzkyICAgMC4xMTA4NTIg ICAwLjEyOTI0NCAoICAxLjQ2NjAxNCkNCmBgYA0KDQoNCg0KLS0gDQpodHRwczovL2J1Z3MucnVi eS1sYW5nLm9yZy8NCiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fCiBydWJ5LWNvcmUgbWFpbGluZyBsaXN0IC0tIHJ1YnktY29yZUBtbC5ydWJ5LWxhbmcub3Jn CiBUbyB1bnN1YnNjcmliZSBzZW5kIGFuIGVtYWlsIHRvIHJ1YnktY29yZS1sZWF2ZUBtbC5ydWJ5 LWxhbmcub3JnCiBydWJ5LWNvcmUgaW5mbyAtLSBodHRwczovL21sLnJ1YnktbGFuZy5vcmcvbWFp bG1hbjMvbGlzdHMvcnVieS1jb3JlLm1sLnJ1YnktbGFuZy5vcmcv