Pr/cuda pipeline canonical as sender - #389
Conversation
cuda/pipeline carried a copy of bench/stdexec's awaitable_sender.hpp, which splits a compound io_result at runtime into set_value(n) or set_error(ec). The canonical bridge in example/awaitable-sender rejects such awaitables at compile time because exclusive completion channels would drop a partial read's byte count. The tree therefore had two as_sender definitions that disagreed on the paper's central question. Include the canonical header instead and rewrite scene 2 around the sanctioned route: a task<error_code> wrapper (read_into) that moves the byte count out through a side channel and hands the bridge only the error code. Both scene 2 paths still run; the error path shows the count reaching the caller while upon_error sees the error. The await_sender direction keeps its local stdexec copy, since the canonical sender-bridge copy targets beman.execution.
The bench copies of the awaitable-to-sender bridge accept a compound io_result and split it at runtime, dropping the byte count that accompanies an error. The canonical as_sender in example/awaitable-sender rejects that at compile time. Two functions with one name and opposite contracts invite copying the wrong one, as cuda/pipeline did. Name the benchmark bridges as_sender_lossy and say why they exist: they measure the bridge without the task<error_code> wrapper the canonical bridge requires. No behavior change.
|
An automated preview of the documentation is available at https://389.capy.prtest3.cppalliance.org/index.html If more commits are pushed to the pull request, the docs will rebuild at the same URL. 2026-08-27 15:33:23 UTC |
|
GCOVR code coverage report https://389.capy.prtest3.cppalliance.org/gcovr/index.html Build time: 2026-08-27 15:44:46 UTC |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## develop #389 +/- ##
========================================
Coverage 98.09% 98.09%
========================================
Files 130 130
Lines 6291 6291
========================================
Hits 6171 6171
Misses 120 120
Flags with carried forward coverage won't be shown. Click here to find out more. Continue to review full report in Codecov by Harness.
🚀 New features to boost your workflow:
|
No description provided.