[ruby-core:119762] [Ruby master Feature#20782] Introduction of Happy Eyeballs Version 2 (RFC8305) in TCPSocket.new
From:
"mame (Yusuke Endoh) via ruby-core" <ruby-core@...>
Date:
2024-11-06 02:11:48 UTC
List:
ruby-core #119762
SXNzdWUgIzIwNzgyIGhhcyBiZWVuIHVwZGF0ZWQgYnkgbWFtZSAoWXVzdWtlIEVuZG9oKS4NCg0K DQorMQ0KDQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpGZWF0dXJl ICMyMDc4MjogSW50cm9kdWN0aW9uIG9mIEhhcHB5IEV5ZWJhbGxzIFZlcnNpb24gMiAoUkZDODMw NSkgaW4gVENQU29ja2V0Lm5ldw0KaHR0cHM6Ly9idWdzLnJ1YnktbGFuZy5vcmcvaXNzdWVzLzIw NzgyI2NoYW5nZS0xMTA0MjcNCg0KKiBBdXRob3I6IHNoaW9pbW0gKE1pc2FraSBTaGlvaSkNCiog U3RhdHVzOiBBc3NpZ25lZA0KKiBBc3NpZ25lZTogbmFydXNlIChZdWkgTkFSVVNFKQ0KLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KVGhpcyBpcyBhbiBpbXBsZW1lbnRh dGlvbiBvZiBIYXBweSBFeWViYWxscyB2ZXJzaW9uIDIgKFJGQyA4MzA1KSBpbiBgVENQU29ja2V0 Lm5ld2AuDQpTZWUgaHR0cHM6Ly9naXRodWIuY29tL3J1YnkvcnVieS9wdWxsLzExNjUzDQoNCiMj IyBCYWNrZ3JvdW5kDQpQcmlvciB0byB0aGlzIGltcGxlbWVudGF0aW9uLCBJIGltcGxlbWVudGVk IEhhcHB5IEV5ZWJhbGxzIFZlcnNpb24gMiAoSEV2MikgZm9yIGBTb2NrZXQudGNwYCBpbiBodHRw czovL2dpdGh1Yi5jb20vcnVieS9ydWJ5L3B1bGwvOTM3NC4gDQpIRXYyIGlzIGFuIGFsZ29yaXRo bSBkZWZpbmVkIGluIFtSRkMgODMwNV0oaHR0cHM6Ly9kYXRhdHJhY2tlci5pZXRmLm9yZy9kb2Mv aHRtbC9yZmM4MzA1KSwgYWltZWQgYXQgaW1wcm92aW5nIG5ldHdvcmsgY29ubmVjdGl2aXR5LiAN CkZvciBtb3JlIGRldGFpbHMgb24gdGhlIHNwZWNpZmljIGNhc2VzIHRoYXQgSEV2MiBoZWxwcywg cGxlYXNlIHJlZmVyIHRvIGh0dHBzOi8vYnVncy5ydWJ5LWxhbmcub3JnL2lzc3Vlcy8yMDEwOC4N Cg0KIyMjIFByb3Bvc2FsICYgT3V0Y29tZQ0KVGhpcyBwcm9wb3NhbCBpbXBsZW1lbnRzIHRoZSBz YW1lIEhFdjIgYWxnb3JpdGhtIGluIGBUQ1BTb2NrZXQubmV3YC4NClNpbmNlIGBUQ1BTb2NrZXQu bmV3YCBpcyB1c2VkIG1vcmUgd2lkZWx5IHRoYW4gYFNvY2tldC50Y3BgLCB0aGlzIGNoYW5nZSBp cyBleHBlY3RlZCB0byBicm9hZGVuIHRoZSBpbXBhY3Qgb2YgSEV2MidzIGJlbmVmaXRzLiANCkxp a2UgYFNvY2tldC50Y3BgLCBJIGhhdmUgYWxzbyBhZGRlZCBgZmFzdF9mYWxsYmFja2Aga2V5d29y ZCBhcmd1bWVudCB0byBgVENQU29ja2V0Lm5ld2AuIA0KVGhpcyBvcHRpb24gaXMgc2V0IHRvIHRy dWUgYnkgZGVmYXVsdCwgZW5hYmxpbmcgdGhlIEhFdjIgZnVuY3Rpb25hbGl0eS4gDQpIb3dldmVy LCB1c2VycyBjYW4gZXhwbGljaXRseSBzZXQgaXQgdG8gZmFsc2UgdG8gZGlzYWJsZSBIRXYyIGFu ZCB1c2UgdGhlIHByZXZpb3VzIGJlaGF2aW9yIG9mIGBUQ1BTb2NrZXQubmV3YC4NCg0KSXQgc2hv dWxkIGJlIG5vdGVkIHRoYXQgSEV2MiBpcyBlbmFibGVkIG9ubHkgaW4gZW52aXJvbm1lbnRzIHdo ZXJlIHB0aHJlYWRzIGFyZSBhdmFpbGFibGUuDQpUaGlzIHNwZWNpZmljYXRpb24gZm9sbG93cyB0 aGUgYXBwcm9hY2ggdGFrZW4gaW4gaHR0cHM6Ly9idWdzLnJ1YnktbGFuZy5vcmcvaXNzdWVzLzE5 OTY1LCB3aGVyZSBuYW1lIHJlc29sdXRpb24gY2FuIGJlIGludGVycnVwdGVkLiANCihJbiBlbnZp cm9ubWVudHMgd2hlcmUgcHRocmVhZHMgYXJlIG5vdCBhdmFpbGFibGUsIHRoZSBgZmFzdF9mYWxs YmFja2Agb3B0aW9uIGlzIGlnbm9yZWQuKQ0KDQojIyMgUGVyZm9ybWFuY2UNCkJlbG93IGlzIHRo ZSBiZW5jaG1hcmsgb2YgMTAwIHJlcXVlc3RzIHRvIGB3d3cucnVieS1sYW5nLm9yZ2Agd2l0aCB0 aGUgZmFzdF9mYWxsYmFjayBvcHRpb24gc2V0IHRvIHRydWUgYW5kIGZhbHNlLCByZXNwZWN0aXZl bHkuIA0KV2hpbGUgdGhlcmUgaXMgYSBzbGlnaHQgcGVyZm9ybWFuY2UgZGVncmFkYXRpb24gd2hl biBIRXYyIGlzIGVuYWJsZWQsIHRoZSBkZWdyYWRhdGlvbiBpcyBzbWFsbGVyIGNvbXBhcmVkIHRv IHRoYXQgc2VlbiBpbiBgU29ja2V0LnRjcGAgLg0KDQpgYGBydWJ5DQpyZXF1aXJlICdzb2NrZXQn DQpyZXF1aXJlICdiZW5jaG1hcmsnDQoNCmhvc3RuYW1lID0gInd3dy5ydWJ5LWxhbmcub3JnIg0K cG9ydCA9IDgwDQpuID0gMTAwDQoNCkJlbmNobWFyay5ibWJtIGRvIHx4fA0KICB4LnJlcG9ydCgi ZmFzdF9mYWxsYmFjazogdHJ1ZSIpIGRvDQogICAgbi50aW1lcyB7IFRDUFNvY2tldC5uZXcoaG9z dG5hbWUsIHBvcnQpLmNsb3NlIH0NCiAgZW5kDQoNCiAgeC5yZXBvcnQoImZhc3RfZmFsbGJhY2s6 IGZhbHNlIikgZG8NCiAgICBuLnRpbWVzIHsgVENQU29ja2V0Lm5ldyhob3N0bmFtZSwgcG9ydCwg ZmFzdF9mYWxsYmFjazogZmFsc2UpLmNsb3NlIH0NCiAgZW5kDQplbmQNCmBgYA0KDQpgYGANCn4v cy9idWlsZCDina/ina/ina8gLi4vaW5zdGFsbC9iaW4vcnVieSAuLi9ydWJ5L3Rlc3QucmINClJl aGVhcnNhbCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLQ0KZmFzdF9mYWxsYmFjazogdHJ1ZSAgICAwLjAxNzU4OCAgIDAuMDk3MDQ1ICAgMC4x MTQ2MzMgKCAgMS40NjA2NjQpDQpmYXN0X2ZhbGxiYWNrOiBmYWxzZSAgIDAuMDE0MDMzICAgMC4w Nzg5ODQgICAwLjA5MzAxNyAoICAxLjQxMzk1MSkNCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tIHRvdGFsOiAwLjIwNzY1MHNlYw0KDQogICAgICAgICAgICAg ICAgICAgICAgICAgICB1c2VyICAgICBzeXN0ZW0gICAgICB0b3RhbCAgICAgICAgcmVhbA0KZmFz dF9mYWxsYmFjazogdHJ1ZSAgICAwLjAyMDg5MSAgIDAuMTI0MDU0ICAgMC4xNDQ5NDUgKCAgMS40 NzM4MTYpDQpmYXN0X2ZhbGxiYWNrOiBmYWxzZSAgIDAuMDE4MzkyICAgMC4xMTA4NTIgICAwLjEy OTI0NCAoICAxLjQ2NjAxNCkNCmBgYA0KDQoNCg0KLS0gDQpodHRwczovL2J1Z3MucnVieS1sYW5n Lm9yZy8NCiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCiBy dWJ5LWNvcmUgbWFpbGluZyBsaXN0IC0tIHJ1YnktY29yZUBtbC5ydWJ5LWxhbmcub3JnCiBUbyB1 bnN1YnNjcmliZSBzZW5kIGFuIGVtYWlsIHRvIHJ1YnktY29yZS1sZWF2ZUBtbC5ydWJ5LWxhbmcu b3JnCiBydWJ5LWNvcmUgaW5mbyAtLSBodHRwczovL21sLnJ1YnktbGFuZy5vcmcvbWFpbG1hbjMv bGlzdHMvcnVieS1jb3JlLm1sLnJ1YnktbGFuZy5vcmcv