Skip to content

refactor!: rename the IoAwaitable family to context-based names - #455

Merged
sgerbino merged 1 commit into
cppalliance:developfrom
sgerbino:pr/rename-foundation
Oct 16, 2026
Merged

sgerbino merged 1 commit into
cppalliance:developfrom
sgerbino:pr/rename-foundation

Conversation

@sgerbino

@sgerbino sgerbino commented Oct 16, 2026 •

Copy link
Copy Markdown
Collaborator

Problem

The awaitable protocol carries an execution context (executor, stop token, frame allocator), but its names say "I/O".

Renames

Old New
IoAwaitable ContextAwaitable
IoAwaitableRange ContextAwaitableRange
IoRunnable ContextRunnable
io_env await_context
io_awaitable_promise_base context_awaitable_promise_base
io_result results
io_task<Ts...> removed; write task<results<Ts...>>

Headers move to match: concept/context_awaitable.hpp, concept/context_runnable.hpp, ex/await_context.hpp, ex/context_awaitable_promise_base.hpp, results.hpp. io_task.hpp is deleted.

Derived names follow the same scheme, for example is_results_v, results_payload_t, the when_all/when_any *_results_* detail helpers, and the awaitable-sender example's context_sender_env / get_context_executor.

Docs

Every page, snippet, javadoc and reference example uses the new names. Pages whose file names carried the old names are renamed (4e.io-awaitable.adoc → 4e.context-awaitable.adoc, the unlisted io-awaitables-* pages), and the "Reporting Errors" anchor is now #reporting-errors. Published papers under papers/ are unchanged.

Downstream

corosio and http need matching changes on branches named pr/rename-foundation. Their CI builds against capy develop, so this PR has to merge first. beast2 needs no source changes.

Also

  • The README links each library in the family list to its repository.
  • index.html is removed: it was a leftover redirect, titled "Boost.Buffers", to a doc/html directory that does not exist.

@cppalliance-bot

cppalliance-bot commented Oct 16, 2026 •

Copy link
Copy Markdown

An automated preview of the documentation is available at https://455.capy.prtest3.cppalliance.org/index.html

If more commits are pushed to the pull request, the docs will rebuild at the same URL.

2026-10-16 21:54:17 UTC

@cppalliance-bot

cppalliance-bot commented Oct 16, 2026 •

Copy link
Copy Markdown

GCOVR code coverage report https://455.capy.prtest3.cppalliance.org/gcovr/index.html
LCOV code coverage report https://455.capy.prtest3.cppalliance.org/genhtml/index.html
Coverage Diff Report https://455.capy.prtest3.cppalliance.org/diff-report/index.html

Build time: 2026-10-16 22:09:55 UTC

@codecov

codecov Bot commented Oct 16, 2026 •

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 98.18182% with 1 line in your changes missing coverage. Please review.
✅ Project coverage is 98.45%. Comparing base (43ff48b) to head (85a11dd).
⚠️ Report is 1 commits behind head on develop.

Files with missing lines Patch % Lines
include/boost/capy/test/bufgrind.hpp 0.00% 1 Missing ⚠️
Additional details and impacted files

Impacted file tree graph

@@             Coverage Diff             @@
##           develop     #455      +/-   ##
===========================================
+ Coverage    98.33%   98.45%   +0.11%     
===========================================
  Files          137      137              
  Lines         7316     7297      -19     
===========================================
- Hits          7194     7184      -10     
+ Misses         122      113       -9     
Flag Coverage Δ
linux 98.40% <ø> (+0.25%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

Files with missing lines Coverage Δ
include/boost/capy/detail/abandonable.hpp 100.00% <100.00%> (ø)
include/boost/capy/detail/await_suspend_helper.hpp 100.00% <ø> (ø)
include/boost/capy/detail/results_combinators.hpp 100.00% <100.00%> (ø)
include/boost/capy/ex/abandon.hpp 100.00% <ø> (ø)
include/boost/capy/ex/async_event.hpp 100.00% <100.00%> (ø)
include/boost/capy/ex/async_mutex.hpp 100.00% <100.00%> (ø)
include/boost/capy/ex/async_waker.hpp 100.00% <100.00%> (ø)
...e/boost/capy/ex/context_awaitable_promise_base.hpp 100.00% <100.00%> (ø)
include/boost/capy/ex/frame_alloc_mixin.hpp 100.00% <ø> (ø)
include/boost/capy/ex/frame_allocator.hpp 100.00% <ø> (ø)
... and 20 more

... and 9 files with indirect coverage changes


Continue to review full report in Codecov by Harness.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 43ff48b...85a11dd. Read the comment docs.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@sgerbino
sgerbino force-pushed the pr/rename-foundation branch 3 times, most recently from 4e0ddf4 to c964df6 Compare October 16, 2026 21:51
The awaitable protocol propagates an execution context (executor,
stop token, frame allocator), not I/O, so the names now say so:

  IoAwaitable                -> ContextAwaitable
  IoAwaitableRange           -> ContextAwaitableRange
  IoRunnable                 -> ContextRunnable
  io_env                     -> await_context
  io_awaitable_promise_base  -> context_awaitable_promise_base
  io_result                  -> results

io_task is removed; spell it task<results<Ts...>>. Headers,
include guards, detail helpers, tests, examples, benchmarks and
documentation follow the new names, and the headers move to
concept/context_awaitable.hpp, concept/context_runnable.hpp,
ex/await_context.hpp, ex/context_awaitable_promise_base.hpp and
results.hpp. io_task.hpp is deleted.

Also link each library in the README's family list to its
repository, and remove index.html, a leftover redirect to a
doc/html directory that does not exist.
@sgerbino
sgerbino force-pushed the pr/rename-foundation branch from c964df6 to 85a11dd Compare October 16, 2026 21:51
@sgerbino
sgerbino merged commit ef63862 into cppalliance:develop Oct 16, 2026
41 checks passed
@sgerbino
sgerbino deleted the pr/rename-foundation branch October 16, 2026 22:22
@github-project-automation github-project-automation Bot moved this from Backlog to Done in Beast2 Oct 16, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

2 participants