Skip to content

Conversation

@wokron
Copy link
Owner

@wokron wokron commented Feb 11, 2026

The original set_result() function only accepted res and flags, which lacked extensibility. Therefore, it has been refactored into a handle_cqe() function.

Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR refactors completion handling for io_uring operations by replacing OpFinishHandle::set_result(res, flags) with a more extensible handle_cqe(io_uring_cqe*) flow, and updates runtime/test code to use the new CQE-driven handling (including multishot and zero-copy behaviors).

Changes:

  • Replaced set_result() usage with handle_cqe() across runtime and tests.
  • Reworked multishot/zero-copy completion behavior to be handled under WorkType::Common via an Action return contract.
  • Updated tests and WorkType to reflect the new completion-dispatch approach.

Reviewed changes

Copilot reviewed 10 out of 10 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
tests/test_work_type.cpp Updates work-type encode/decode tests for the adjusted WorkType set.
tests/test_ring.cpp Uses handle_cqe() and updates handle storage for ring operation tests.
tests/test_op_finish_handle.cpp Refactors tests to drive finish handles via CQEs and validate new action semantics.
tests/test_op_awaiter.cpp Updates awaiter event loops and mock multishot behavior to call handle_cqe().
tests/test_awaiter_operations.cpp Switches event loop completion handling to handle_cqe().
include/condy/work_type.hpp Removes MultiShot/ZeroCopy enum members and keeps only core work routing types.
include/condy/runtime.hpp Consolidates finish-handle CQE processing under WorkType::Common and uses Action results.
include/condy/finish_handles.hpp Introduces Action + function-pointer CQE dispatch to support extensible CQE handling.
include/condy/concepts.hpp Updates OpFinishHandleLike concept to require handle_cqe() returning Action.
include/condy/awaiters.hpp Changes SQE user_data setup for operations to use direct handle pointers.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 11 out of 11 changed files in this pull request and generated 1 comment.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@wokron wokron force-pushed the refactor-op-finish-handle branch from 3514f91 to 4e176ae Compare February 11, 2026 10:38
@wokron wokron merged commit 85538f3 into master Feb 12, 2026
11 checks passed
@wokron wokron deleted the refactor-op-finish-handle branch February 12, 2026 02:44
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.

1 participant