⚠ This page is served via a proxy. Original site: https://github.com
This service does not collect credentials or authentication data.
Skip to content

Conversation

@vinniefalco
Copy link
Member

@vinniefalco vinniefalco commented Jan 21, 2026

Summary by CodeRabbit

  • Chores

    • Added Boost::corosio as a new project dependency.
  • Refactor

    • Updated internal buffer handling mechanism for improved performance.
  • Tests

    • Updated unit tests to align with internal buffer changes.

✏️ Tip: You can customize this high-level summary in your review settings.

@coderabbitai
Copy link

coderabbitai bot commented Jan 21, 2026

📝 Walkthrough

Walkthrough

This pull request adds corosio as a build dependency and replaces the internal buffering mechanism in the route handler from capy::buffer_param to corosio::io_buffer_param, including updates to virtual function signatures and test implementations.

Changes

Cohort / File(s) Summary
Build Dependencies
CMakeLists.txt, build/Jamfile
Added Boost::corosio and boost_corosio to build dependencies in both CMake and Jamfile configurations.
Route Handler Implementation
include/boost/http/server/route_handler.hpp
Replaced capy::buffer_param with corosio::io_buffer_param in the protected virtual write_impl function signature and updated include directives accordingly.
Route Handler Tests
test/unit/server/test_route_handler.hpp
Updated test override of write_impl to accept corosio::io_buffer_param instead of capy::buffer_param.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Possibly related PRs

  • buffer_param usage #248: Relates to the same write_impl buffer parameter abstraction in route_handler.hpp; this PR further evolves the previous buffer parameter changes.

Poem

🐰 A buffer's path through corosio flows,
Where io streams dance and data goes,
From capy's grasp to new frontiers we leap,
Dependencies grow as our promises keep! ✨

🚥 Pre-merge checks | ✅ 2 | ❌ 1
❌ Failed checks (1 warning)
Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 25.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (2 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title directly reflects the main change: replacing buffer_param with io_buffer_param from Boost.Corosio across multiple files and build configurations.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing touches
  • 📝 Generate docstrings

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
CMakeLists.txt (1)

55-69: Add corosio to the standalone CMake find_package components.

Line 61 includes Boost::corosio in BOOST_HTTP_DEPENDENCIES, and the codebase actively uses corosio::io_buffer_param from <boost/corosio/io_buffer_param.hpp>. However, Line 125's find_package(Boost REQUIRED COMPONENTS filesystem json url) omits corosio. In standalone builds (non-superproject), the missing target will be aliased to Boost::headers instead of the actual Boost.Corosio library, causing build or runtime failures.

🔧 Suggested CMake fix
-        find_package(Boost REQUIRED COMPONENTS filesystem json url)
+        find_package(Boost REQUIRED COMPONENTS filesystem json url corosio)

@MungoG MungoG merged commit 5f16b6b into cppalliance:develop Jan 21, 2026
2 of 15 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