-
Notifications
You must be signed in to change notification settings - Fork 4
quite a lot #8
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
quite a lot #8
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
- Create socket_impl class deriving from intrusive_list node - Create win_iocp_sockets service to track all sockets - Service provides IOCP association and graceful shutdown - Update socket to register/unregister with service
Add pending_ counter to track work items in win_iocp_scheduler: - post() increments pending_ before posting to IOCP - do_run() decrements pending_ after executing each handler - run(), run_one(), run_until() check pending_ before blocking - shutdown() decrements pending_ when destroying unexecuted work - Only honor shutdown signals when actually stopped (fixes restart) Update testRunFor() to expect immediate return when no work pending (matching Asio semantics)
- Add real IOCP socket implementation with native SOCKET handle - Add overlapped_op base for IOCP operations (connect, read, write, accept) - Add tcp::endpoint using boost::urls::ipv4_address - Add tcp::acceptor for accepting incoming connections - Add buffers_param for type-erased buffer sequences - Add work_started/work_finished to scheduler for I/O tracking - Link ws2_32 on Windows - Add Boost.Buffers and Boost.URL dependencies
- Rename io_context::executor to executor_type (remove alias) - Store io_context* instead of scheduler* in executor_type - Add context(), on_work_started(), on_work_finished(), defer() methods - Extend detail::scheduler interface with on_work_started/finished, defer - Implement work tracking in win_iocp_scheduler and reactive_scheduler - Update Javadoc comments to follow style guide
- win_iocp_scheduler.hpp/cpp: reorder declarations and definitions - reactive_scheduler.hpp/cpp: move init_task() after overrides - win_iocp_sockets.hpp/cpp: reorder win_socket_impl and win_iocp_sockets - Move inline implementations to out-of-line definitions - Add blank lines between sections, remove comments
- Add explicit continue in do_one() when processing shutdown_key with context not stopped (after restart), ensuring we immediately try GQCS again instead of timing out - Fix tests to call restart() after poll/poll_one with no work, matching Asio semantics where stop() is called - Fix testRunOneFor to not expect wait when no outstanding work
- Add stop() call to wait_one() when outstanding_work == 0 - Remove has_outstanding_work() from scheduler interfaces (no longer needed) - Simplify run_one_until() to use stopped() check only - Update Javadocs to document stopping behavior and restart() requirement - Update tests to verify stopped() state after timed methods return
- Rename design.md to corosio-design.md - Remove coverage-rule.md, format-rule.md, javadoc-rule.md (now in agent-cpp)
- Add tls-stream.adoc user guide for the TLS stream adapter - Add design-rationale.adoc explaining key design decisions - Update nav.adoc with new pages
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
No description provided.