Network System 0.1.1
High-performance modular networking library for scalable client-server applications
Loading...
Searching...
No Matches
kcenon::network::config::network_config Struct Reference

Configuration for standalone network_system initialization. More...

#include <network_config.h>

Collaboration diagram for kcenon::network::config::network_config:
Collaboration graph

Static Public Member Functions

static network_config development ()
 Create development configuration.
 
static network_config production ()
 Create production configuration.
 
static network_config testing ()
 Create testing configuration.
 

Public Attributes

thread_pool_config thread_pool
 Thread pool configuration.
 
logger_config logger
 Logger configuration.
 
monitoring_config monitoring
 Monitoring configuration.
 

Detailed Description

Configuration for standalone network_system initialization.

Use this configuration when you want the network system to manage its own internal resources (thread pool, logger, monitoring). The network system will create these components based on the provided settings.

Example usage:

// Use predefined configurations
// Or customize settings
auto result = kcenon::network::initialize(cfg);
VoidResult initialize()
Initialize the network system with default production configuration.
integration::log_level min_level
Minimum log level to record.
Configuration for standalone network_system initialization.
thread_pool_config thread_pool
Thread pool configuration.
logger_config logger
Logger configuration.
static network_config production()
Create production configuration.
size_t worker_count
Number of worker threads (0 = auto-detect via hardware_concurrency)
Note
For sharing existing thread pools, loggers, or other infrastructure with the network system, use network_system_config instead.
See also
network_system_config For integration with external dependencies
initialize() For initialization without configuration

Definition at line 108 of file network_config.h.

Member Function Documentation

◆ development()

static network_config kcenon::network::config::network_config::development ( )
inlinestatic

Create development configuration.

Returns
Configuration optimized for development

Definition at line 122 of file network_config.h.

122 {
123 network_config cfg;
124 cfg.logger.min_level = integration::log_level::debug;
125 cfg.logger.async_logging = false; // Synchronous for debugging
126 cfg.monitoring.enabled = true;
127 cfg.thread_pool.worker_count = 2; // Minimal for dev
128 return cfg;
129 }

References kcenon::network::config::logger_config::async_logging, kcenon::network::integration::debug, kcenon::network::config::monitoring_config::enabled, logger, kcenon::network::config::logger_config::min_level, monitoring, thread_pool, and kcenon::network::config::thread_pool_config::worker_count.

◆ production()

static network_config kcenon::network::config::network_config::production ( )
inlinestatic

Create production configuration.

Returns
Configuration optimized for production

Definition at line 135 of file network_config.h.

135 {
136 network_config cfg;
137 cfg.logger.min_level = integration::log_level::info;
138 cfg.logger.async_logging = true;
139 cfg.monitoring.enabled = true;
140 cfg.thread_pool.worker_count = 0; // Auto-detect
141 return cfg;
142 }

References kcenon::network::config::logger_config::async_logging, kcenon::network::config::monitoring_config::enabled, kcenon::network::integration::info, logger, kcenon::network::config::logger_config::min_level, monitoring, thread_pool, and kcenon::network::config::thread_pool_config::worker_count.

Referenced by kcenon::network::initialize().

Here is the caller graph for this function:

◆ testing()

static network_config kcenon::network::config::network_config::testing ( )
inlinestatic

Create testing configuration.

Returns
Configuration optimized for testing

Definition at line 148 of file network_config.h.

148 {
149 network_config cfg;
150 cfg.logger.min_level = integration::log_level::warn;
151 cfg.logger.async_logging = false; // Synchronous for test reliability
152 cfg.monitoring.enabled = false;
153 cfg.thread_pool.worker_count = 1; // Single thread for determinism
154 return cfg;
155 }

References kcenon::network::config::logger_config::async_logging, kcenon::network::config::monitoring_config::enabled, logger, kcenon::network::config::logger_config::min_level, monitoring, thread_pool, kcenon::network::integration::warn, and kcenon::network::config::thread_pool_config::worker_count.

Member Data Documentation

◆ logger

logger_config kcenon::network::config::network_config::logger

Logger configuration.

Definition at line 113 of file network_config.h.

Referenced by development(), production(), and testing().

◆ monitoring

monitoring_config kcenon::network::config::network_config::monitoring

Monitoring configuration.

Definition at line 116 of file network_config.h.

Referenced by development(), production(), and testing().

◆ thread_pool

thread_pool_config kcenon::network::config::network_config::thread_pool

Thread pool configuration.

Definition at line 110 of file network_config.h.

Referenced by development(), production(), and testing().


The documentation for this struct was generated from the following file: