feat(modules): add C++20 module files for kcenon.messaging#205
Merged
Conversation
Add C++20 module interface files as part of the modular migration: - messaging.cppm: Primary module interface - core.cppm: Core messaging (message, queue, bus, broker) - patterns.cppm: Messaging patterns (pub/sub, request/reply) - task.cppm: Distributed task queue system - integration.cppm: Transports, backends, DI This completes the Tier 5 module in the dependency chain: common -> thread -> container -> logger -> database -> network -> messaging Refs #204
- Add MESSAGING_BUILD_MODULES option (OFF by default) - Add messaging_system_modules target with module file set - Link dependent module targets (common, thread, container, etc.) - Add module status to build configuration summary Module build requires CMake 3.28+ and compatible compiler. Refs #204
- Add C++20 module build section to README.md - Add module support entry to CHANGELOG.md - Document module requirements and structure Refs #204
Replace deprecated container set_value() calls with set() to fix MSVC build failure (C4996 warning treated as error). Refs #204
Update test files to use the new set() API instead of deprecated set_value() method in value_container. This fixes Windows MSVC build failures where deprecated warnings are treated as errors. Modified files: - test/unit/task/test_worker_pool.cpp - test/unit/task/test_task_handler.cpp - test/unit/task/test_task_context.cpp - test/benchmarks/task/bench_result_backend.cpp
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
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.
Summary
Changes
Module files (
src/modules/):messaging.cppm- Primary module interfacecore.cppm- Core messaging (message, queue, bus, broker)patterns.cppm- Messaging patterns (pub/sub, request/reply)task.cppm- Distributed task queue systemintegration.cppm- Transports, backends, DICMake (
CMakeLists.txt):MESSAGING_BUILD_MODULESoption (OFF by default)messaging_system_modulestarget with module file setDocumentation:
Module Structure
Requirements
Test plan
Related