Network System
0.1.1
High-performance modular networking library for scalable client-server applications
Loading...
Searching...
No Matches
feature_flags.h
Go to the documentation of this file.
1
// BSD 3-Clause License
2
// Copyright (c) 2021-2025, 🍀☀🌕🌥 🌊
3
// See the LICENSE file in the project root for full license information.
4
22
#pragma once
23
24
//==============================================================================
25
// Check for common_system availability
26
//==============================================================================
27
28
#if defined(WITH_COMMON_SYSTEM) || defined(KCENON_WITH_COMMON_SYSTEM)
29
// common_system is available, use its feature flags
30
#include <kcenon/common/config/feature_flags.h>
31
#else
32
// common_system is not available, define feature flags locally
33
34
//==============================================================================
35
// Thread System Integration
36
//==============================================================================
37
38
#ifndef KCENON_WITH_THREAD_SYSTEM
39
#if defined(ENABLE_THREAD_INTEGRATION) || defined(WITH_THREAD_SYSTEM)
40
#define KCENON_WITH_THREAD_SYSTEM 1
41
#else
42
#define KCENON_WITH_THREAD_SYSTEM 0
43
#endif
44
#endif
45
46
//==============================================================================
47
// Logger System Integration
48
//==============================================================================
49
50
#ifndef KCENON_WITH_LOGGER_SYSTEM
51
#if defined(ENABLE_LOGGER_INTEGRATION) || defined(WITH_LOGGER_SYSTEM)
52
#define KCENON_WITH_LOGGER_SYSTEM 1
53
#else
54
#define KCENON_WITH_LOGGER_SYSTEM 0
55
#endif
56
#endif
57
58
//==============================================================================
59
// Monitoring System Integration
60
//==============================================================================
61
// DEPRECATED: Since issue #342, network_system uses EventBus-based metric
62
// publishing instead of compile-time monitoring_system dependency.
63
// External consumers should subscribe to network_metric_event via EventBus.
64
//
65
// This macro is kept for backward compatibility but is no longer used
66
// in network_system headers. It will be removed in a future version.
67
//==============================================================================
68
69
#ifndef KCENON_WITH_MONITORING_SYSTEM
70
#if defined(ENABLE_MONITORING_INTEGRATION) || defined(WITH_MONITORING_SYSTEM)
71
#define KCENON_WITH_MONITORING_SYSTEM 1
72
#else
73
#define KCENON_WITH_MONITORING_SYSTEM 0
74
#endif
75
#endif
76
77
//==============================================================================
78
// Container System Integration
79
//==============================================================================
80
81
#ifndef KCENON_WITH_CONTAINER_SYSTEM
82
#if defined(ENABLE_CONTAINER_INTEGRATION) || defined(WITH_CONTAINER_SYSTEM)
83
#define KCENON_WITH_CONTAINER_SYSTEM 1
84
#else
85
#define KCENON_WITH_CONTAINER_SYSTEM 0
86
#endif
87
#endif
88
89
//==============================================================================
90
// Common System Integration
91
//==============================================================================
92
93
#ifndef KCENON_WITH_COMMON_SYSTEM
94
#define KCENON_WITH_COMMON_SYSTEM 0
95
#endif
96
97
#endif
// WITH_COMMON_SYSTEM
include
kcenon
network
detail
config
feature_flags.h
Generated by
1.12.0