Skip to content

[RFC] Add support for C++26 std::execution #655

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

SidneyCogdill
Copy link

@SidneyCogdill SidneyCogdill commented Apr 16, 2025

Alternative to #653.

Note:

  • This implementation is thread safe, but multipart message operations are not. I've experimented with multiple designs (separate send/receive socket pair; ring buffer queue; socket-wide critical section; functional style interface) in my local development project, in an attempt to fix/mitigate the hazard, but the end conclusion is basically don't do anything (as is currently implemented in this PR), as the mitigations/workarounds come with trade-offs that make them largely not viable to be used in real world scenarios, and the "don't do anything" approach significantly simplifies the implementation.
  • Some comments are outdated (partly related to the experiments)
  • event loop depends on Boost.Asio.
  • Currently depends on stdexec for std::execution implementation. most of the primitives being used will be available in C++26.
  • CPM is added.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant