[ruby-core:119797] [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-07 10:03:23 UTC
List:
ruby-core #119797
SXNzdWUgIzIwNzgyIGhhcyBiZWVuIHVwZGF0ZWQgYnkgc2hpb2ltbSAoTWlzYWtpIFNoaW9pKS4N Cg0KDQpUaGFuayB5b3UgaXQncyBob25vciB0byBiZSBhIFJ1YnkgY29tbWl0dGVyLi4uIQ0KDQot LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpGZWF0dXJlICMyMDc4Mjog SW50cm9kdWN0aW9uIG9mIEhhcHB5IEV5ZWJhbGxzIFZlcnNpb24gMiAoUkZDODMwNSkgaW4gVENQ U29ja2V0Lm5ldw0KaHR0cHM6Ly9idWdzLnJ1YnktbGFuZy5vcmcvaXNzdWVzLzIwNzgyI2NoYW5n ZS0xMTA0ODINCg0KKiBBdXRob3I6IHNoaW9pbW0gKE1pc2FraSBTaGlvaSkNCiogU3RhdHVzOiBB c3NpZ25lZA0KKiBBc3NpZ25lZTogbmFydXNlIChZdWkgTkFSVVNFKQ0KLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KVGhpcyBpcyBhbiBpbXBsZW1lbnRhdGlvbiBvZiBI YXBweSBFeWViYWxscyB2ZXJzaW9uIDIgKFJGQyA4MzA1KSBpbiBgVENQU29ja2V0Lm5ld2AuDQpT ZWUgaHR0cHM6Ly9naXRodWIuY29tL3J1YnkvcnVieS9wdWxsLzExNjUzDQoNCiMjIyBCYWNrZ3Jv dW5kDQpQcmlvciB0byB0aGlzIGltcGxlbWVudGF0aW9uLCBJIGltcGxlbWVudGVkIEhhcHB5IEV5 ZWJhbGxzIFZlcnNpb24gMiAoSEV2MikgZm9yIGBTb2NrZXQudGNwYCBpbiBodHRwczovL2dpdGh1 Yi5jb20vcnVieS9ydWJ5L3B1bGwvOTM3NC4gDQpIRXYyIGlzIGFuIGFsZ29yaXRobSBkZWZpbmVk IGluIFtSRkMgODMwNV0oaHR0cHM6Ly9kYXRhdHJhY2tlci5pZXRmLm9yZy9kb2MvaHRtbC9yZmM4 MzA1KSwgYWltZWQgYXQgaW1wcm92aW5nIG5ldHdvcmsgY29ubmVjdGl2aXR5LiANCkZvciBtb3Jl IGRldGFpbHMgb24gdGhlIHNwZWNpZmljIGNhc2VzIHRoYXQgSEV2MiBoZWxwcywgcGxlYXNlIHJl ZmVyIHRvIGh0dHBzOi8vYnVncy5ydWJ5LWxhbmcub3JnL2lzc3Vlcy8yMDEwOC4NCg0KIyMjIFBy b3Bvc2FsICYgT3V0Y29tZQ0KVGhpcyBwcm9wb3NhbCBpbXBsZW1lbnRzIHRoZSBzYW1lIEhFdjIg YWxnb3JpdGhtIGluIGBUQ1BTb2NrZXQubmV3YC4NClNpbmNlIGBUQ1BTb2NrZXQubmV3YCBpcyB1 c2VkIG1vcmUgd2lkZWx5IHRoYW4gYFNvY2tldC50Y3BgLCB0aGlzIGNoYW5nZSBpcyBleHBlY3Rl ZCB0byBicm9hZGVuIHRoZSBpbXBhY3Qgb2YgSEV2MidzIGJlbmVmaXRzLiANCkxpa2UgYFNvY2tl dC50Y3BgLCBJIGhhdmUgYWxzbyBhZGRlZCBgZmFzdF9mYWxsYmFja2Aga2V5d29yZCBhcmd1bWVu dCB0byBgVENQU29ja2V0Lm5ld2AuIA0KVGhpcyBvcHRpb24gaXMgc2V0IHRvIHRydWUgYnkgZGVm YXVsdCwgZW5hYmxpbmcgdGhlIEhFdjIgZnVuY3Rpb25hbGl0eS4gDQpIb3dldmVyLCB1c2VycyBj YW4gZXhwbGljaXRseSBzZXQgaXQgdG8gZmFsc2UgdG8gZGlzYWJsZSBIRXYyIGFuZCB1c2UgdGhl IHByZXZpb3VzIGJlaGF2aW9yIG9mIGBUQ1BTb2NrZXQubmV3YC4NCg0KSXQgc2hvdWxkIGJlIG5v dGVkIHRoYXQgSEV2MiBpcyBlbmFibGVkIG9ubHkgaW4gZW52aXJvbm1lbnRzIHdoZXJlIHB0aHJl YWRzIGFyZSBhdmFpbGFibGUuDQpUaGlzIHNwZWNpZmljYXRpb24gZm9sbG93cyB0aGUgYXBwcm9h Y2ggdGFrZW4gaW4gaHR0cHM6Ly9idWdzLnJ1YnktbGFuZy5vcmcvaXNzdWVzLzE5OTY1LCB3aGVy ZSBuYW1lIHJlc29sdXRpb24gY2FuIGJlIGludGVycnVwdGVkLiANCihJbiBlbnZpcm9ubWVudHMg d2hlcmUgcHRocmVhZHMgYXJlIG5vdCBhdmFpbGFibGUsIHRoZSBgZmFzdF9mYWxsYmFja2Agb3B0 aW9uIGlzIGlnbm9yZWQuKQ0KDQojIyMgUGVyZm9ybWFuY2UNCkJlbG93IGlzIHRoZSBiZW5jaG1h cmsgb2YgMTAwIHJlcXVlc3RzIHRvIGB3d3cucnVieS1sYW5nLm9yZ2Agd2l0aCB0aGUgZmFzdF9m YWxsYmFjayBvcHRpb24gc2V0IHRvIHRydWUgYW5kIGZhbHNlLCByZXNwZWN0aXZlbHkuIA0KV2hp bGUgdGhlcmUgaXMgYSBzbGlnaHQgcGVyZm9ybWFuY2UgZGVncmFkYXRpb24gd2hlbiBIRXYyIGlz IGVuYWJsZWQsIHRoZSBkZWdyYWRhdGlvbiBpcyBzbWFsbGVyIGNvbXBhcmVkIHRvIHRoYXQgc2Vl biBpbiBgU29ja2V0LnRjcGAgLg0KDQpgYGBydWJ5DQpyZXF1aXJlICdzb2NrZXQnDQpyZXF1aXJl ICdiZW5jaG1hcmsnDQoNCmhvc3RuYW1lID0gInd3dy5ydWJ5LWxhbmcub3JnIg0KcG9ydCA9IDgw DQpuID0gMTAwDQoNCkJlbmNobWFyay5ibWJtIGRvIHx4fA0KICB4LnJlcG9ydCgiZmFzdF9mYWxs YmFjazogdHJ1ZSIpIGRvDQogICAgbi50aW1lcyB7IFRDUFNvY2tldC5uZXcoaG9zdG5hbWUsIHBv cnQpLmNsb3NlIH0NCiAgZW5kDQoNCiAgeC5yZXBvcnQoImZhc3RfZmFsbGJhY2s6IGZhbHNlIikg ZG8NCiAgICBuLnRpbWVzIHsgVENQU29ja2V0Lm5ldyhob3N0bmFtZSwgcG9ydCwgZmFzdF9mYWxs YmFjazogZmFsc2UpLmNsb3NlIH0NCiAgZW5kDQplbmQNCmBgYA0KDQpgYGANCn4vcy9idWlsZCDi na/ina/ina8gLi4vaW5zdGFsbC9iaW4vcnVieSAuLi9ydWJ5L3Rlc3QucmINClJlaGVhcnNhbCAt LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0K ZmFzdF9mYWxsYmFjazogdHJ1ZSAgICAwLjAxNzU4OCAgIDAuMDk3MDQ1ICAgMC4xMTQ2MzMgKCAg MS40NjA2NjQpDQpmYXN0X2ZhbGxiYWNrOiBmYWxzZSAgIDAuMDE0MDMzICAgMC4wNzg5ODQgICAw LjA5MzAxNyAoICAxLjQxMzk1MSkNCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tIHRvdGFsOiAwLjIwNzY1MHNlYw0KDQogICAgICAgICAgICAgICAgICAgICAg ICAgICB1c2VyICAgICBzeXN0ZW0gICAgICB0b3RhbCAgICAgICAgcmVhbA0KZmFzdF9mYWxsYmFj azogdHJ1ZSAgICAwLjAyMDg5MSAgIDAuMTI0MDU0ICAgMC4xNDQ5NDUgKCAgMS40NzM4MTYpDQpm YXN0X2ZhbGxiYWNrOiBmYWxzZSAgIDAuMDE4MzkyICAgMC4xMTA4NTIgICAwLjEyOTI0NCAoICAx LjQ2NjAxNCkNCmBgYA0KDQoNCg0KLS0gDQpodHRwczovL2J1Z3MucnVieS1sYW5nLm9yZy8NCiBf X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCiBydWJ5LWNvcmUg bWFpbGluZyBsaXN0IC0tIHJ1YnktY29yZUBtbC5ydWJ5LWxhbmcub3JnCiBUbyB1bnN1YnNjcmli ZSBzZW5kIGFuIGVtYWlsIHRvIHJ1YnktY29yZS1sZWF2ZUBtbC5ydWJ5LWxhbmcub3JnCiBydWJ5 LWNvcmUgaW5mbyAtLSBodHRwczovL21sLnJ1YnktbGFuZy5vcmcvbWFpbG1hbjMvbGlzdHMvcnVi eS1jb3JlLm1sLnJ1YnktbGFuZy5vcmcv