Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion doc/modules/ROOT/pages/4.coroutines/4c.executors.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ This section explains executors and execution contexts—the mechanisms that con

== The Executor Concept

An *executor* is an object that can schedule work for execution. In Capy, executors must provide two methods:
An *executor* is an object that can schedule work for execution. In Capy, executors must provide three methods:

[source,cpp]
----
Expand Down
2 changes: 1 addition & 1 deletion doc/modules/ROOT/pages/8.design/8l.RunApi.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -232,7 +232,7 @@ Coroutine frame allocation happens _before_ the coroutine body executes. When th

Any mechanism that injects the allocator _after_ the call -- receiver queries, `await_transform`, explicit method calls -- arrives too late. The frame is already allocated.

This is the fundamental tension identified in D4003 3.3:
This is the fundamental tension identified in D4003 section 3.3:

[quote]
____
Expand Down
4 changes: 2 additions & 2 deletions doc/modules/ROOT/pages/why-capy.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -408,9 +408,9 @@ No other solution like this exists. Not Asio. Not `std::execution`. Not anywhere

== The Road Ahead

For twenty five years, Boost.Asio has stood alone. It defined what portable asynchronous I/O looks like in {cpp}. No serious competitor offering its depth of offerings has appeared. It defined the promising Networking TS. Asio earned its place through years of production use, careful evolution, and relentless focus on real problems faced by real developers.
For twenty-five years, Boost.Asio has stood alone. It defined what portable asynchronous I/O looks like in {cpp}. No serious competitor offering its depth of offerings has appeared. It defined the promising Networking TS. Asio earned its place through years of production use, careful evolution, and relentless focus on real problems faced by real developers.

Capy builds on Asio's foundation—the buffer sequences, the executor model, the hard-won lessons about what works. But where Asio must preserve compatibility with over decades of existing code, Capy is free to commit fully to the future. {cpp}20 coroutines are not an afterthought here. They are the foundation.
Capy builds on Asio's foundation—the buffer sequences, the executor model, the hard-won lessons about what works. But where Asio must preserve compatibility with decades of existing code, Capy is free to commit fully to the future. {cpp}20 coroutines are not an afterthought here. They are the foundation.

The result is something new. Stream concepts designed for coroutines alone. Type-erasure at the level where it matters most. A simple execution model discovered through use-case-first design. Clean separation between execution and platform. A taxonomy of awaitables that invites extension rather than mandating a single concrete type.

Expand Down
Loading
Loading