Skip to content

[MODULE] Create C++20 module files for kcenon.network #395

Description

@kcenon

Summary

Create C++20 module files for network_system as part of the Tier 4 libraries.

Parent Epic

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

Prerequisites

Proposed Module Structure

// Primary module interface
export module kcenon.network;

import kcenon.common;           // Required
import kcenon.thread;           // Required
import kcenon.logger;           // Optional
import kcenon.container;        // Optional
import kcenon.monitoring;       // Optional

export import kcenon.network.core;
export import kcenon.network.tcp;
export import kcenon.network.udp;
export import kcenon.network.ssl;

Module Partitions

Partition Contents
:core Core network interfaces, connection management
:tcp TCP client/server implementations
:udp UDP implementations
:ssl SSL/TLS support (optional)

File Structure

src/modules/
├── network.cppm             # Primary module interface
├── core.cppm                # Core partition
├── tcp.cppm                 # TCP partition
├── udp.cppm                 # UDP partition
└── ssl.cppm                 # SSL partition

CMake Configuration

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

add_library(kcenon_network)
target_sources(kcenon_network
    PRIVATE FILE_SET CXX_MODULES
    FILES
        src/modules/network.cppm
        src/modules/core.cppm
        src/modules/tcp.cppm
        src/modules/udp.cppm
        src/modules/ssl.cppm
)

Tasks

  • Wait for Tier 0/1 module 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 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:

  • Blocked by: Tier 0/1/2 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