Network System 0.1.1
High-performance modular networking library for scalable client-server applications
Loading...
Searching...
No Matches
network_config.h
Go to the documentation of this file.
1// BSD 3-Clause License
2// Copyright (c) 2024-2025, 🍀☀🌕🌥 🌊
3// See the LICENSE file in the project root for full license information.
4
25#pragma once
26
27#include <chrono>
28#include <string>
29#include <cstddef>
30#include "kcenon/network/internal/integration/logger_integration.h"
31
33
40 size_t worker_count = 0;
41
43 size_t queue_capacity = 10000;
44
46 std::string pool_name = "network_pool";
47};
48
66
73 bool enabled = true;
74
76 std::chrono::seconds metrics_interval{5};
77
79 std::string service_name = "network_system";
80};
81
111
114
117
123 network_config cfg;
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 }
130
136 network_config cfg;
138 cfg.logger.async_logging = true;
139 cfg.monitoring.enabled = true;
140 cfg.thread_pool.worker_count = 0; // Auto-detect
141 return cfg;
142 }
143
149 network_config cfg;
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 }
156};
157
158} // namespace kcenon::network::config
Configuration for logging system.
bool async_logging
Enable asynchronous logging.
integration::log_level min_level
Minimum log level to record.
std::string log_file_path
Log file path (empty = console only)
size_t buffer_size
Buffer size for async logging.
Configuration for monitoring system.
std::string service_name
Service name for monitoring.
std::chrono::seconds metrics_interval
Metrics collection interval.
Configuration for standalone network_system initialization.
thread_pool_config thread_pool
Thread pool configuration.
monitoring_config monitoring
Monitoring configuration.
logger_config logger
Logger configuration.
static network_config testing()
Create testing configuration.
static network_config development()
Create development configuration.
static network_config production()
Create production configuration.
size_t queue_capacity
Maximum queue capacity.
std::string pool_name
Thread pool name.
size_t worker_count
Number of worker threads (0 = auto-detect via hardware_concurrency)