Skip to content

Conversation

@kammce
Copy link
Member

@kammce kammce commented Dec 29, 2025

This commit significantly expands the async context API to support multiple blocking states and adds extensive test coverage. Key changes include:

  • Add new blocking methods: block_by_sync() with context pointer, and block_by_external() to support different synchronization patterns
  • Make blocking methods return std::suspend_always for improved coroutine suspension ergonomics
  • Add context_token class for safe context capture and unblocking operations
  • Enhance context state queries with safer std::holds_alternative checks
  • Add git-town configuration for workflow management
  • Add comprehensive test suite demonstrating resource synchronization patterns between coroutines, including mutex-like behavior and I/O blocking scenarios
  • Refactor test infrastructure with reusable test_scheduler implementation.

These enhancements enable more sophisticated coroutine coordination patterns while maintaining the lightweight design of the async context system.

This commit significantly expands the async context API to support
multiple blocking states and adds extensive test coverage. Key changes
include:

- Add new blocking methods: block_by_sync() with context pointer, and
  block_by_external() to support different synchronization patterns
- Make blocking methods return std::suspend_always for improved
  coroutine suspension ergonomics
- Add context_token class for safe context capture and unblocking operations
- Enhance context state queries with safer std::holds_alternative checks
- Add git-town configuration for workflow management
- Add comprehensive test suite demonstrating resource synchronization
  patterns between coroutines, including mutex-like behavior and I/O
  blocking scenarios
- Refactor test infrastructure with reusable test_scheduler
  implementation.

These enhancements enable more sophisticated coroutine coordination
patterns while maintaining the lightweight design of the async context
system.
@kammce kammce force-pushed the blocked-by-external branch from ebebcbd to 683c332 Compare December 29, 2025 03:34
@kammce kammce merged commit 236fc8f into main Dec 29, 2025
5 checks passed
@kammce kammce deleted the blocked-by-external branch December 29, 2025 13:25
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