Skip to content

feat!: adopt push_to/pull_from and the source/sink concept family from capy#277

Merged
mvandeberg merged 1 commit into
cppalliance:developfrom
mvandeberg:pr/adopt-transfer-algos
Jul 23, 2026
Merged

feat!: adopt push_to/pull_from and the source/sink concept family from capy#277
mvandeberg merged 1 commit into
cppalliance:developfrom
mvandeberg:pr/adopt-transfer-algos

Conversation

@mvandeberg

Copy link
Copy Markdown
Contributor

The transfer algorithms push_to/pull_from and the source/sink concept family they rest on (ReadSource, BufferSource, BufferSink, WriteSink and the any_read_source/any_buffer_source/any_buffer_sink/any_write_sink wrappers) are consumed only by http and its downstreams (beast2, burl), never by capy itself. Bring them here, under namespace boost::http.

Added:

  • concept/{read_source,buffer_source,buffer_sink,write_sink}.hpp
  • io/{push_to,pull_from,any_read_source,any_buffer_source,any_buffer_sink, any_write_sink}.hpp
  • test mocks {buffer_source,buffer_sink,read_source,write_sink}.hpp + 14 tests
  • generic test helpers (test_exception, throw_test_exception_opaque)

Consumers (parser, serializer, json_sink, json_body, route_handler, http_worker) now use the local http:: concepts.

…m capy

The transfer algorithms push_to/pull_from and the source/sink concept family
they rest on (ReadSource, BufferSource, BufferSink, WriteSink and the
any_read_source/any_buffer_source/any_buffer_sink/any_write_sink wrappers)
are consumed only by http and its downstreams (beast2, burl), never by capy
itself. Bring them here, under namespace boost::http.

Added:
- concept/{read_source,buffer_source,buffer_sink,write_sink}.hpp
- io/{push_to,pull_from,any_read_source,any_buffer_source,any_buffer_sink,
  any_write_sink}.hpp
- test mocks {buffer_source,buffer_sink,read_source,write_sink}.hpp + 14 tests
- generic test helpers (test_exception, throw_test_exception_opaque)

Consumers (parser, serializer, json_sink, json_body, route_handler,
http_worker) now use the local http:: concepts.
@cppalliance-bot

Copy link
Copy Markdown

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

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

2026-07-23 17:15:08 UTC

@mvandeberg
mvandeberg merged commit 6f5fa2f into cppalliance:develop Jul 23, 2026
23 of 24 checks passed
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.

2 participants