Skip to content

Conversation

@Lukasa
Copy link
Contributor

@Lukasa Lukasa commented Jan 15, 2025

Motivation:

The HappyEyeballsResolver, being an old part of our stack, has a lot of code in it that fails to pass strict concurrency checking. That's deeply suboptimal.

Modifications:

  • Clean up the happy eyeballs resolver under strict concurrency
  • Further cleanups to the bootstraps

Result:

Another step taken on the road to strict concurrency.

These two changes are tied together: the HER severely
affects the bootstraps setup logic.
@Lukasa Lukasa added the 🆕 semver/minor Adds new public API. label Jan 15, 2025
Copy link
Contributor

@glbrntt glbrntt left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, thanks Cory

@Lukasa
Copy link
Contributor Author

Lukasa commented Jan 22, 2025

Ok, I'm going to take the L on this extra allocation. I'm pretty sure this is the result of needing to no longer close over self in the bootstraps, and I think the trade on that for extra allocations is appropriate.

channelInitializer: channelInitializer,
channelOptions: channelOptions,
bindTarget: bindTarget
) {
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Specifically I think this is our new allocation.

@Lukasa Lukasa merged commit 0c547a7 into apple:main Jan 23, 2025
32 of 35 checks passed
@Lukasa Lukasa deleted the cb-strict-concurrency-happy-eyeballs-resolver branch January 23, 2025 13:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

🆕 semver/minor Adds new public API.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants