Currently when a hostname resolves to ipv4 and ipv6 hosts, the addresses are tried sequentially which may create long waits when the first address tried is not functioning. The happy eyeballs algorithm specifies roughly the following:
1. Attempt a connection to the first address that a hostname resolved to.
2. After 1 second, if the first connection hasn't succeeded, attempt a connection to the next address that the hostname resolved to.
As part of this work we should consider how the driver handles hostnames with multiple A records or multiple AAAA records (e.g., for geo load balancing).