Skip to content

Conversation

@vinniefalco
Copy link
Member

@vinniefalco vinniefalco commented Jan 21, 2026

Summary by CodeRabbit

  • Refactor

    • Improved buffer parameter handling consistency across I/O operations for a cleaner API surface.
  • Documentation

    • Updated glossary entries and documentation terminology for enhanced clarity and consistency.

✏️ 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 systematically refactors buffer parameter handling throughout the codebase, replacing capy::any_bufref with capy::buffer_param across include directives, method signatures, and documentation. The changes span platform-specific socket implementations (epoll, IOCP), TLS stream handlers (OpenSSL, WolfSSL), and core I/O interfaces without modifying control flow or error handling logic.

Changes

Cohort / File(s) Summary
Documentation
doc/modules/ROOT/pages/guide/buffers.adoc, doc/modules/ROOT/pages/reference/design-rationale.adoc, doc/modules/ROOT/pages/reference/glossary.adoc
Formatting adjustments and glossary terminology updates; public glossary entry renamed from any_bufref:: to buffer_param:: with updated descriptions.
Core I/O Interface Headers
include/boost/corosio/io_stream.hpp, include/boost/corosio/read.hpp, include/boost/corosio/socket.hpp, include/boost/corosio/write.hpp
Updated include directives from boost/capy/any_bufref.hpp to boost/capy/buffers/buffer_param.hpp; public method signatures in io_stream_impl changed from capy::any_bufref& to capy::buffer_param for read_some and write_some.
EPOLL Socket Implementation
src/corosio/src/detail/epoll/sockets.hpp
Method signatures updated in epoll_socket_impl class and inline implementations to use capy::buffer_param instead of capy::any_bufref& for buffer parameters.
IOCP Socket Implementation
src/corosio/src/detail/iocp/sockets.hpp, src/corosio/src/detail/iocp/sockets.cpp
Parameter type changes from capy::any_bufref& to capy::buffer_param in win_socket_impl_internal and read_op/write_op structures across declarations and implementations.
Mock Socket Implementation
src/corosio/src/test/mocket.cpp
Virtual method signatures in mocket_impl class updated to accept capy::buffer_param instead of capy::any_bufref& for read_some and write_some.
TLS Stream Implementations
src/openssl/src/openssl_stream.cpp, src/wolfssl/src/wolfssl_stream.cpp
Method parameter types updated in openssl_stream_impl_ and wolfssl_stream_impl_ classes from capy::any_bufref& param to capy::buffer_param param for I/O operations; surrounding buffer handling logic preserved.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

Possibly related PRs

  • api and bug fixes #30 — Direct refactoring of buffer types and I/O method signatures replacing any_bufref with buffer_param in the same functions and interfaces.
  • Refactor details directory structure #32 — Modifies overlapping backend socket implementation files (epoll, IOCP) with concurrent changes to function signatures and includes.

Poem

🐰 A buffer's new name brings clarity clear,
No any_bufref shall appear here!
With buffer_param dancing through code,
Each socket and stream finds its true mode.
From EPOLL to IOCP, the refactor's complete—
A type-safe tomorrow, oh so sweet! 🐇

🚥 Pre-merge checks | ✅ 2 | ❌ 1
❌ Failed checks (1 warning)
Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 20.99% 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 accurately describes the main change: systematic replacement of capy::any_bufref& with capy::buffer_param across multiple files for API consistency.

✏️ 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.

@cppalliance-bot
Copy link

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

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

2026-01-21 01:23:00 UTC

@vinniefalco vinniefalco merged commit 3523d62 into cppalliance:develop Jan 21, 2026
14 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