Skip to content

[MODULE] Create C++20 module files for kcenon.messaging #204

Description

@kcenon

Summary

Create C++20 module files for messaging_system as part of the Tier 5 (Application) layer.

Parent Epic

Part of kcenon/common_system#256 (C++20 Module Migration - Cross-System Preparation)

Prerequisites

All lower tier modules must be completed first:

Proposed Module Structure

// Primary module interface
export module kcenon.messaging;

import kcenon.common;           // Required
import kcenon.thread;           // Required
import kcenon.container;        // Required
import kcenon.logger;           // Required
import kcenon.network;          // Required
import kcenon.database;         // Required

export import kcenon.messaging.core;
export import kcenon.messaging.protocols;
export import kcenon.messaging.serialization;

Module Partitions

Partition Contents
:core Core messaging interfaces
:protocols Protocol implementations
:serialization Serialization utilities

File Structure

src/modules/
├── messaging.cppm           # Primary module interface
├── core.cppm                # Core partition
├── protocols.cppm           # Protocols partition
└── serialization.cppm       # Serialization partition

CMake Configuration

cmake_minimum_required(VERSION 3.28)
set(CMAKE_CXX_STANDARD 20)
set(CMAKE_CXX_SCAN_FOR_MODULES ON)

add_library(kcenon_messaging)
target_sources(kcenon_messaging
    PRIVATE FILE_SET CXX_MODULES
    FILES
        src/modules/messaging.cppm
        src/modules/core.cppm
        src/modules/protocols.cppm
        src/modules/serialization.cppm
)

Tasks

  • Wait for all dependency modules (Tier 0-4) completion
  • Create module directory structure
  • Create module files
  • Update CMakeLists.txt for module support
  • Verify no circular module dependencies
  • Update all tests to use modules
  • Update documentation

Acceptance Criteria

  • Module builds successfully with CMake 3.28+
  • Successfully imports all 6 dependent modules
  • All existing tests pass with module
  • No circular dependencies
  • Header-based build still works (transition period)

Migration Timeline

This is Phase 2 work (Release N+4) per EPIC:

  • This is the final module in the dependency chain
  • Blocked by: All Tier 0-4 modules

Related

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions