`\Device\Afd`, or, the Deal with the Devil that makes async Rust work on Windows (2023)

https://notgull.net/device-afd/

However, there are some important features that WinSock just doesn’t expose. […]

Rust’s current async ecosystem is built atop a particularly cursed concept. It’s an unstable, undocumented Windows feature. It’s the lynchpin of not only the Rust ecosystem, but the JavaScript one as well. It’s controversial. It’s efficient. […] Without it, it’s unlikely that the async ecosystem would exist in its current form. It’s called \Device\Afd, and I’m tired of no one talking about it.

42 points · 5 comments · view on lemmy.world

5 Comments

kata1yst@sh.itjust.works · 15 pts · 1y (2 replies)

Windows is a marketing platform masquerading as an Operating System.

Kissaki@programming.dev · 2 pts · 1y

I don't think these are mutually exclusive concepts.

douglasg14b@programming.dev · -1 pts · 1y

Cool 👍

PlexSheep@infosec.pub · 12 pts · 1y

I was so confused for a moment. AfD is the neo-fascist party of Germany.

soc@programming.dev · 1 pts · 1y

And all of this due to the mistaken design decision to stick with the obsolete readiness-based model instead of going with the superior completion-based model.

(You can build a readiness-based API on top of a completion-based API, but not the other way around.)