bloomberg / bloomberg/ntf-core
Enhance ntci::Proactor::cancel to call back to the user when all operations are canceled
- Dominant language
- C++
- Stars
- 99
- Forks
- 33
- PR merge metrics
- No merged PRs in 30d
Description
The signature of `ntci::Proactor::cancel()` implies that is synchronous, but it is likely that for some implementations cancelation must be implemented asynchronously. Enhance the contract of `ntci::Proactor::cancel` to call a new function, `ntci::ProactorSocket::processCanceled()`, when all pending operations are canceled.
Contributor guide
Research direction
Start at the ntci::Proactor::cancel and ntci::ProactorSocket interfaces and trace their implementations to understand how pending operations are canceled. Define completion as invoking ntci::ProactorSocket::processCanceled() only after all pending operations have been canceled, then verify the affected proactor and socket behavior across implementations.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- networking
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 38/100