Normalize integration flags to KCENON_WITH_*#24
Merged
Conversation
Replace BUILD_WITH_* preprocessor checks with KCENON_WITH_* macros from feature_flags.h for consistent integration gating across repos. Changes: - Add feature_flags.h include to gateway sources, tests, benchmarks - Replace #ifdef BUILD_WITH_CONTAINER_SYSTEM with #if KCENON_WITH_* - Update CMake to define WITH_* symbols instead of BUILD_WITH_* Refs: #23
Add Integration Macros section explaining the relationship between CMake options (BUILD_WITH_*) and source code macros (KCENON_WITH_*). Refs: #23
Define both legacy BUILD_WITH_* macros and new WITH_* macros in CMake compile definitions to maintain backward compatibility while enabling KCENON_WITH_* feature flags from feature_flags.h. Refs: #23
Change forward declarations from legacy namespace aliases to actual class types to prevent conflicts when network_system/core/messaging_server.h is included. - Forward declare kcenon::network::core::messaging_server and messaging_session - Add using aliases for backward compatibility with network_system namespace
Add connection_types.h with server-side implementations of connection pooling types that were removed from database_system as part of Phase 4.3 (Client Library Diet initiative). Types added: - connection_pool_config: Pool configuration parameters - connection_stats: Statistics for monitoring - connection_wrapper: Connection metadata wrapper - connection_pool_base: Abstract base class for pools - connection_pool: Basic pool implementation This allows database_server to maintain server-side connection pooling while database_system clients use ProxyMode for production deployments.
- Document connection_types.h and its contents - Add note about database_system Phase 4.3 Client Library Diet - Clarify that connection pooling is now server-side only
Remove redundant BUILD_WITH_* compile definitions from CMakeLists.txt. The feature_flags.h header from common_system now properly maps WITH_* symbols to KCENON_WITH_* macros, making the legacy definitions unnecessary. Changes: - Replace BUILD_WITH_COMMON_SYSTEM WITH_COMMON_SYSTEM with just WITH_COMMON_SYSTEM - Replace BUILD_WITH_MONITORING_SYSTEM WITH_MONITORING_SYSTEM with just WITH_MONITORING_SYSTEM - Replace BUILD_WITH_CONTAINER_SYSTEM WITH_CONTAINER_SYSTEM with just WITH_CONTAINER_SYSTEM - Update comments to clarify the WITH_* to KCENON_WITH_* mapping This completes the integration flag normalization for PR #24.
Update Integration Macros section to clearly document the three-layer mapping: 1. CMake Option (BUILD_WITH_*) - User-facing configuration 2. Preprocessor Symbol (WITH_*) - Compile definition set by CMake 3. Macro (KCENON_WITH_*) - Used in source code via feature_flags.h This clarifies how BUILD_WITH_* options result in KCENON_WITH_* macros through the WITH_* intermediate symbols.
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
BUILD_WITH_*preprocessor checks withKCENON_WITH_*macros fromfeature_flags.hin gateway sources, tests, and benchmarksWITH_*symbols (consumed byfeature_flags.h) instead ofBUILD_WITH_*Test plan
Closes #23