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

Main namespace for all Network System components. More...

Namespaces

namespace  concepts
 C++20 concepts for compile-time type validation in network_system.
 
namespace  config
 
namespace  core
 
namespace  error_codes
 
namespace  error_codes_ext
 
namespace  events
 
namespace  experimental
 
namespace  facade
 
namespace  http
 
namespace  integration
 
namespace  interfaces
 
namespace  internal
 
namespace  metrics
 
namespace  policy
 
namespace  protocol
 
namespace  protocols
 
namespace  security
 
namespace  session
 
namespace  tracing
 
namespace  unified
 
namespace  utils
 Utility components for network_system.
 

Classes

class  connection_guard
 RAII guard for connection limiting. More...
 
class  connection_limiter
 Connection count limiter. More...
 
struct  message_limits
 Configurable message size limits. More...
 
class  message_validator
 Message validator for network input validation. More...
 
struct  module_version
 Version information for network_system module. More...
 
class  per_client_connection_limiter
 Per-client connection limiter. More...
 
class  rate_limiter
 Token bucket rate limiter. More...
 
struct  rate_limiter_config
 Configuration for rate limiter. More...
 
class  Result
 
class  session_timeout_manager
 
struct  simple_error
 

Typedefs

using VoidResult = Result<std::monostate>
 
using error_info = simple_error
 

Enumerations

enum class  tcp_client_callback : std::size_t { receive = 0 , connected = 1 , disconnected = 2 , error = 3 }
 Callback indices for messaging_client and secure_messaging_client. More...
 
enum class  tcp_server_callback : std::size_t { connection = 0 , disconnection = 1 , receive = 2 , error = 3 }
 Callback indices for messaging_server and secure_messaging_server. More...
 
enum class  udp_client_callback : std::size_t { receive = 0 , error = 1 }
 Callback indices for messaging_udp_client. More...
 
enum class  secure_udp_client_callback : std::size_t { receive = 0 , connected = 1 , disconnected = 2 , error = 3 }
 Callback indices for secure_messaging_udp_client. More...
 
enum class  udp_server_callback : std::size_t { receive = 0 , error = 1 }
 Callback indices for messaging_udp_server. More...
 
enum class  unified_udp_client_callback : std::size_t { receive = 0 , connected = 1 , disconnected = 2 , error = 3 }
 Callback indices for unified_udp_messaging_client. More...
 
enum class  unified_udp_server_callback : std::size_t { receive = 0 , client_connected = 1 , client_disconnected = 2 , error = 3 }
 Callback indices for unified_udp_messaging_server. More...
 
enum class  ws_client_callback : std::size_t {
  message = 0 , text_message = 1 , binary_message = 2 , connected = 3 ,
  disconnected = 4 , error = 5
}
 Callback indices for messaging_ws_client. More...
 
enum class  ws_server_callback : std::size_t {
  connection = 0 , disconnection = 1 , message = 2 , text_message = 3 ,
  binary_message = 4 , error = 5
}
 Callback indices for messaging_ws_server. More...
 
enum class  quic_client_callback : std::size_t {
  receive = 0 , stream_receive = 1 , connected = 2 , disconnected = 3 ,
  error = 4
}
 Callback indices for messaging_quic_client. More...
 
enum class  quic_server_callback : std::size_t {
  connection = 0 , disconnection = 1 , receive = 2 , stream_receive = 3 ,
  error = 4
}
 Callback indices for messaging_quic_server. More...
 
enum class  validation_result {
  ok , size_exceeded , null_byte_detected , invalid_format ,
  invalid_character , header_count_exceeded
}
 Result type for validation operations. More...
 

Functions

template<typename T >
Result< T > ok (T &&value)
 
VoidResult ok ()
 
template<typename T >
Result< T > error (int code, const std::string &message, const std::string &source="network_system", const std::string &details="")
 
VoidResult error_void (int code, const std::string &message, const std::string &source="network_system", const std::string &details="")
 
std::string get_error_details (const simple_error &err)
 
const std::string & get_error_source (const simple_error &err)
 
VoidResult kcenon::network::initialize ()
 Initialize the network system with default production configuration.
 
VoidResult initialize (const config::network_config &config)
 Initialize the network system with custom settings.
 
VoidResult initialize (const config::network_system_config &config)
 Initialize the network system with external dependencies.
 
VoidResult kcenon::network::shutdown ()
 Shutdown the network system.
 
bool kcenon::network::is_initialized ()
 Check if network system is initialized.
 
template<typename E >
constexpr auto to_index (E e) noexcept -> std::size_t
 Helper to convert enum to std::size_t for callback_manager access.
 
const char * to_string (validation_result result)
 Convert validation result to string.
 
constexpr const char * kcenon::network::version () noexcept
 Get the network system version string.
 

Variables

static std::atomic< bool > g_initialized {false}
 

Detailed Description

Main namespace for all Network System components.

Typedef Documentation

◆ error_info

Definition at line 163 of file result_types.h.

◆ VoidResult

using kcenon::network::VoidResult = Result<std::monostate>

Definition at line 162 of file result_types.h.

Enumeration Type Documentation

◆ quic_client_callback

enum class kcenon::network::quic_client_callback : std::size_t
strong

Callback indices for messaging_quic_client.

QUIC client uses callbacks for: receive, stream_receive, connected, disconnected, error.

Enumerator
receive 
stream_receive 
connected 
disconnected 
error 

Definition at line 133 of file callback_indices.h.

133 : std::size_t {
134 receive = 0,
135 stream_receive = 1,
136 connected = 2,
137 disconnected = 3,
138 error = 4
139};
Result< T > error(int code, const std::string &message, const std::string &source="network_system", const std::string &details="")

◆ quic_server_callback

enum class kcenon::network::quic_server_callback : std::size_t
strong

Callback indices for messaging_quic_server.

QUIC server uses callbacks for: connection, disconnection, receive, stream_receive, error.

Enumerator
connection 
disconnection 
receive 
stream_receive 
error 

Definition at line 147 of file callback_indices.h.

147 : std::size_t {
148 connection = 0,
149 disconnection = 1,
150 receive = 2,
151 stream_receive = 3,
152 error = 4
153};

◆ secure_udp_client_callback

enum class kcenon::network::secure_udp_client_callback : std::size_t
strong

Callback indices for secure_messaging_udp_client.

Secure UDP client uses callbacks for: receive, connected, disconnected, error.

Enumerator
receive 
connected 
disconnected 
error 

Definition at line 51 of file callback_indices.h.

51 : std::size_t {
52 receive = 0,
53 connected = 1,
54 disconnected = 2,
55 error = 3
56};

◆ tcp_client_callback

enum class kcenon::network::tcp_client_callback : std::size_t
strong

Callback indices for messaging_client and secure_messaging_client.

These clients use callbacks for: receive, connected, disconnected, error.

Enumerator
receive 
connected 
disconnected 
error 

Definition at line 17 of file callback_indices.h.

17 : std::size_t {
18 receive = 0,
19 connected = 1,
20 disconnected = 2,
21 error = 3
22};

◆ tcp_server_callback

enum class kcenon::network::tcp_server_callback : std::size_t
strong

Callback indices for messaging_server and secure_messaging_server.

These servers use callbacks for: connection, disconnection, receive, error.

Enumerator
connection 
disconnection 
receive 
error 

Definition at line 29 of file callback_indices.h.

29 : std::size_t {
30 connection = 0,
31 disconnection = 1,
32 receive = 2,
33 error = 3
34};

◆ udp_client_callback

enum class kcenon::network::udp_client_callback : std::size_t
strong

Callback indices for messaging_udp_client.

UDP client uses callbacks for: receive, error.

Enumerator
receive 
error 

Definition at line 41 of file callback_indices.h.

41 : std::size_t {
42 receive = 0,
43 error = 1
44};

◆ udp_server_callback

enum class kcenon::network::udp_server_callback : std::size_t
strong

Callback indices for messaging_udp_server.

UDP server uses callbacks for: receive, error.

Enumerator
receive 
error 

Definition at line 63 of file callback_indices.h.

63 : std::size_t {
64 receive = 0,
65 error = 1
66};

◆ unified_udp_client_callback

enum class kcenon::network::unified_udp_client_callback : std::size_t
strong

Callback indices for unified_udp_messaging_client.

Unified UDP client uses callbacks for: receive, connected, disconnected, error. The connected/disconnected callbacks are used for DTLS handshake completion. For plain UDP, connected is called immediately after start.

Enumerator
receive 
connected 
disconnected 
error 

Definition at line 75 of file callback_indices.h.

75 : std::size_t {
76 receive = 0,
77 connected = 1,
78 disconnected = 2,
79 error = 3
80};

◆ unified_udp_server_callback

enum class kcenon::network::unified_udp_server_callback : std::size_t
strong

Callback indices for unified_udp_messaging_server.

Unified UDP server uses callbacks for: receive, client_connected, client_disconnected, error. The client_connected/client_disconnected callbacks are used for DTLS sessions. For plain UDP, only receive and error are meaningful.

Enumerator
receive 
client_connected 
client_disconnected 
error 

Definition at line 90 of file callback_indices.h.

◆ validation_result

Result type for validation operations.

Enumerator
ok 

Validation passed.

size_exceeded 

Size limit exceeded.

null_byte_detected 

NULL byte found in string.

invalid_format 

Invalid data format.

invalid_character 

Invalid character detected.

header_count_exceeded 

Too many headers.

Examples
/home/runner/work/network_system/network_system/src/internal/utils/message_validator.h.

Definition at line 76 of file message_validator.h.

76 {
77 ok,
83};
@ size_exceeded
Size limit exceeded.
@ null_byte_detected
NULL byte found in string.
@ invalid_format
Invalid data format.
@ header_count_exceeded
Too many headers.
@ invalid_character
Invalid character detected.

◆ ws_client_callback

enum class kcenon::network::ws_client_callback : std::size_t
strong

Callback indices for messaging_ws_client.

WebSocket client uses callbacks for: message, text_message, binary_message, connected, disconnected, error.

Enumerator
message 
text_message 
binary_message 
connected 
disconnected 
error 

Definition at line 103 of file callback_indices.h.

◆ ws_server_callback

enum class kcenon::network::ws_server_callback : std::size_t
strong

Callback indices for messaging_ws_server.

WebSocket server uses callbacks for: connection, disconnection, message, text_message, binary_message, error.

Enumerator
connection 
disconnection 
message 
text_message 
binary_message 
error 

Definition at line 118 of file callback_indices.h.

118 : std::size_t {
119 connection = 0,
120 disconnection = 1,
121 message = 2,
122 text_message = 3,
123 binary_message = 4,
124 error = 5
125};

Function Documentation

◆ error()

template<typename T >
Result< T > kcenon::network::error ( int code,
const std::string & message,
const std::string & source = "network_system",
const std::string & details = "" )
inline

Definition at line 229 of file result_types.h.

231 {
232 return Result<T>(simple_error(code, message, source, details));
233 }

References message.

◆ error_void()

VoidResult kcenon::network::error_void ( int code,
const std::string & message,
const std::string & source = "network_system",
const std::string & details = "" )
inline

Definition at line 235 of file result_types.h.

237 {
238 return VoidResult(simple_error(code, message, source, details));
239 }

References message.

Referenced by kcenon::network::internal::quic_socket::accept(), kcenon::network::protocols::quic::connection::add_local_cid(), kcenon::network::protocols::quic::connection_id_manager::add_peer_cid(), kcenon::network::internal::websocket_socket::async_send_binary(), kcenon::network::internal::websocket_socket::async_send_text(), kcenon::network::unified::adapters::quic_listener_adapter::broadcast(), kcenon::network::unified::adapters::tcp_listener_adapter::broadcast(), kcenon::network::unified::adapters::udp_listener_adapter::broadcast(), kcenon::network::unified::adapters::ws_listener_adapter::broadcast(), kcenon::network::protocols::http2::http2_client::cancel_stream(), kcenon::network::core::messaging_ws_client::close(), kcenon::network::core::ws_connection_impl::close(), kcenon::network::core::messaging_quic_client::close_stream(), kcenon::network::internal::quic_socket::close_stream(), kcenon::network::session::quic_session::close_stream(), kcenon::network::protocols::http2::http2_client::close_stream_writer(), kcenon::network::internal::quic_socket::connect(), kcenon::network::protocols::grpc::grpc_client::impl::connect(), kcenon::network::protocols::http2::http2_client::connect(), kcenon::network::unified::adapters::quic_connection_adapter::connect(), kcenon::network::unified::adapters::quic_connection_adapter::connect(), kcenon::network::unified::adapters::tcp_connection_adapter::connect(), kcenon::network::unified::adapters::tcp_connection_adapter::connect(), kcenon::network::unified::adapters::udp_connection_adapter::connect(), kcenon::network::unified::adapters::udp_connection_adapter::connect(), kcenon::network::unified::adapters::ws_connection_adapter::connect(), kcenon::network::unified::adapters::ws_connection_adapter::connect(), kcenon::network::utils::resilient_client::connect(), kcenon::network::protocols::quic::flow_controller::consume_send_window(), kcenon::network::protocols::quic::quic_crypto::derive_initial_secrets(), kcenon::network::protocols::quic::quic_crypto::derive_zero_rtt_keys(), kcenon::network::core::messaging_quic_server::disconnect_session(), kcenon::network::protocols::http2::http2_server_connection::dispatch_request(), kcenon::network::core::secure_messaging_udp_client::do_handshake(), kcenon::network::core::messaging_client::do_send_impl(), kcenon::network::core::secure_messaging_client::do_send_impl(), kcenon::network::core::secure_messaging_udp_client::do_send_impl(), kcenon::network::core::messaging_client::do_start_impl(), kcenon::network::core::messaging_quic_client::do_start_impl(), kcenon::network::core::messaging_quic_server::do_start_impl(), kcenon::network::core::messaging_server::do_start_impl(), kcenon::network::core::messaging_udp_client::do_start_impl(), kcenon::network::core::messaging_udp_server::do_start_impl(), kcenon::network::core::messaging_ws_client::do_start_impl(), kcenon::network::core::messaging_ws_server::do_start_impl(), kcenon::network::core::secure_messaging_client::do_start_impl(), kcenon::network::core::secure_messaging_server::do_start_impl(), kcenon::network::core::secure_messaging_udp_client::do_start_impl(), kcenon::network::core::messaging_client::do_stop_impl(), kcenon::network::core::messaging_quic_client::do_stop_impl(), kcenon::network::core::messaging_quic_server::do_stop_impl(), kcenon::network::core::messaging_server::do_stop_impl(), kcenon::network::core::messaging_udp_client::do_stop_impl(), kcenon::network::core::messaging_udp_server::do_stop_impl(), kcenon::network::core::messaging_ws_client::do_stop_impl(), kcenon::network::core::messaging_ws_server::do_stop_impl(), kcenon::network::core::secure_messaging_client::do_stop_impl(), kcenon::network::core::secure_messaging_server::do_stop_impl(), kcenon::network::protocols::quic::quic_crypto::enable_early_data(), kcenon::network::protocols::quic::stream::finish(), kcenon::network::protocols::http2::http2_client::handle_data_frame(), kcenon::network::protocols::quic::connection::handle_frame(), kcenon::network::protocols::http2::http2_client::handle_headers_frame(), kcenon::network::protocols::http2::http2_server_connection::handle_headers_frame(), kcenon::network::protocols::quic::quic_crypto::init_client(), kcenon::network::protocols::quic::quic_crypto::init_server(), kcenon::network::protocols::quic::connection::init_server_handshake(), kcenon::network::core::secure_messaging_udp_client::init_ssl_context(), kcenon::network::core::secure_messaging_udp_server::init_ssl_context(), kcenon::network::core::connection_pool::initialize(), initialize(), kcenon::network::integration::messaging_bridge::initialize(), kcenon::network::integration::NetworkSystemBridge::Impl::initialize(), kcenon::network::integration::NetworkSystemBridge::initialize(), kcenon::network::integration::ObservabilityBridge::initialize(), kcenon::network::integration::ThreadPoolBridge::initialize(), kcenon::network::protocols::http2::http2_client::process_frame(), kcenon::network::protocols::quic::connection::process_frames(), kcenon::network::protocols::quic::connection::process_long_header_packet(), kcenon::network::protocols::quic::connection::process_short_header_packet(), kcenon::network::protocols::quic::packet_protection::protect_header(), kcenon::network::protocols::quic::stream::receive_data(), kcenon::network::protocols::quic::connection::receive_packet(), kcenon::network::protocols::quic::stream::receive_reset(), kcenon::network::protocols::quic::stream::receive_stop_sending(), kcenon::network::utils::resilient_client::reconnect(), kcenon::network::protocols::quic::flow_controller::record_received(), kcenon::network::protocols::grpc::generic_service::impl::register_bidi_streaming_method(), kcenon::network::protocols::grpc::grpc_server::impl::register_bidi_streaming_method(), kcenon::network::protocols::grpc::generic_service::impl::register_client_streaming_method(), kcenon::network::protocols::grpc::grpc_server::impl::register_client_streaming_method(), kcenon::network::protocols::grpc::generic_service::impl::register_server_streaming_method(), kcenon::network::protocols::grpc::grpc_server::impl::register_server_streaming_method(), kcenon::network::protocols::grpc::grpc_server::impl::register_service(), kcenon::network::protocols::grpc::service_registry::impl::register_service(), kcenon::network::protocols::grpc::generic_service::impl::register_unary_method(), kcenon::network::protocols::grpc::grpc_server::impl::register_unary_method(), kcenon::network::protocols::quic::stream::reset(), kcenon::network::protocols::quic::connection::retire_cid(), kcenon::network::protocols::quic::connection_id_manager::retire_peer_cid(), kcenon::network::protocols::quic::connection_id_manager::rotate_peer_cid(), kcenon::network::core::messaging_udp_client::send(), kcenon::network::internal::adapters::http_client_adapter::send(), kcenon::network::internal::adapters::http_request_session::send(), kcenon::network::internal::adapters::quic_client_adapter::send(), kcenon::network::internal::adapters::quic_session_wrapper::send(), kcenon::network::internal::adapters::udp_client_adapter::send(), kcenon::network::internal::adapters::udp_endpoint_session::send(), kcenon::network::internal::adapters::ws_client_adapter::send(), kcenon::network::internal::adapters::ws_session_wrapper::send(), kcenon::network::session::messaging_session::send(), kcenon::network::session::quic_session::send(), kcenon::network::unified::adapters::quic_connection_adapter::send(), kcenon::network::unified::adapters::quic_connection_adapter::send(), kcenon::network::unified::adapters::tcp_connection_adapter::send(), kcenon::network::unified::adapters::tcp_connection_adapter::send(), kcenon::network::unified::adapters::udp_connection_adapter::send(), kcenon::network::unified::adapters::udp_connection_adapter::send(), kcenon::network::unified::adapters::ws_connection_adapter::send(), kcenon::network::unified::adapters::ws_connection_adapter::send(), kcenon::network::core::messaging_ws_client::send_binary(), kcenon::network::core::ws_connection_impl::send_binary(), kcenon::network::protocols::http2::http2_client::send_connection_preface(), kcenon::network::protocols::http2::http2_server_stream::send_data(), kcenon::network::protocols::http2::http2_client::send_frame(), kcenon::network::protocols::http2::http2_server_connection::send_frame(), kcenon::network::protocols::http2::http2_server_stream::send_headers(), kcenon::network::core::messaging_quic_client::send_on_stream(), kcenon::network::session::quic_session::send_on_stream(), kcenon::network::core::messaging_client::send_packet(), kcenon::network::core::messaging_quic_client::send_packet(), kcenon::network::core::messaging_quic_client::send_packet(), kcenon::network::core::reliable_udp_client::impl::send_packet(), kcenon::network::core::secure_messaging_client::send_packet(), kcenon::network::core::secure_messaging_udp_client::send_packet(), kcenon::network::internal::quic_socket::send_packet(), kcenon::network::core::secure_messaging_udp_client::send_packet_with_handler(), kcenon::network::core::messaging_ws_client::send_ping(), kcenon::network::core::reliable_udp_client::impl::send_reliable(), kcenon::network::internal::quic_socket::send_stream_data(), kcenon::network::core::messaging_ws_client::send_text(), kcenon::network::core::ws_connection_impl::send_text(), kcenon::network::core::messaging_udp_server::send_to(), kcenon::network::unified::adapters::quic_listener_adapter::send_to(), kcenon::network::unified::adapters::tcp_listener_adapter::send_to(), kcenon::network::unified::adapters::udp_listener_adapter::send_to(), kcenon::network::unified::adapters::ws_listener_adapter::send_to(), kcenon::network::utils::resilient_client::send_with_retry(), kcenon::network::protocols::quic::quic_crypto::set_alpn(), kcenon::network::integration::NetworkSystemBridge::Impl::set_logger(), kcenon::network::integration::NetworkSystemBridge::set_logger(), kcenon::network::integration::NetworkSystemBridge::Impl::set_monitoring(), kcenon::network::integration::NetworkSystemBridge::set_monitoring(), kcenon::network::protocols::grpc::service_registry::impl::set_service_health(), kcenon::network::protocols::quic::quic_crypto::set_session_ticket(), kcenon::network::core::messaging_udp_client::set_target(), kcenon::network::integration::NetworkSystemBridge::Impl::set_thread_pool_bridge(), kcenon::network::integration::NetworkSystemBridge::set_thread_pool_bridge(), kcenon::network::unified::adapters::quic_listener_adapter::setup_socket(), shutdown(), kcenon::network::internal::adapters::http_client_adapter::start(), kcenon::network::internal::adapters::http_server_adapter::start(), kcenon::network::internal::adapters::quic_client_adapter::start(), kcenon::network::internal::adapters::quic_server_adapter::start(), kcenon::network::internal::adapters::tcp_server_adapter::start(), kcenon::network::internal::adapters::udp_client_adapter::start(), kcenon::network::internal::adapters::udp_server_adapter::start(), kcenon::network::internal::adapters::ws_client_adapter::start(), kcenon::network::internal::adapters::ws_server_adapter::start(), kcenon::network::protocols::grpc::grpc_server::impl::start(), kcenon::network::protocols::http2::http2_server::start(), kcenon::network::unified::adapters::quic_listener_adapter::start(), kcenon::network::unified::adapters::tcp_listener_adapter::start(), kcenon::network::unified::adapters::udp_listener_adapter::start(), kcenon::network::unified::adapters::ws_listener_adapter::start(), kcenon::network::core::messaging_client::start_client(), kcenon::network::core::messaging_quic_client::start_client(), kcenon::network::core::messaging_udp_client::start_client(), kcenon::network::core::messaging_ws_client::start_client(), kcenon::network::core::reliable_udp_client::impl::start_client(), kcenon::network::core::secure_messaging_client::start_client(), kcenon::network::core::secure_messaging_udp_client::start_client(), kcenon::network::core::messaging_quic_server::start_server(), kcenon::network::core::messaging_udp_server::start_server(), kcenon::network::core::messaging_ws_server::start_server(), kcenon::network::core::secure_messaging_server::start_server(), kcenon::network::core::secure_messaging_udp_server::start_server(), kcenon::network::protocols::grpc::grpc_server::impl::start_tls(), kcenon::network::protocols::http2::http2_server::start_tls(), kcenon::network::internal::adapters::http_client_adapter::stop(), kcenon::network::internal::adapters::http_server_adapter::stop(), kcenon::network::internal::adapters::quic_client_adapter::stop(), kcenon::network::internal::adapters::quic_server_adapter::stop(), kcenon::network::internal::adapters::tcp_server_adapter::stop(), kcenon::network::internal::adapters::udp_client_adapter::stop(), kcenon::network::internal::adapters::udp_server_adapter::stop(), kcenon::network::internal::adapters::ws_client_adapter::stop(), kcenon::network::internal::adapters::ws_server_adapter::stop(), kcenon::network::protocols::quic::stream::stop_sending(), kcenon::network::core::messaging_quic_server::stop_server(), kcenon::network::core::secure_messaging_server::stop_server(), kcenon::network::protocols::grpc::service_registry::impl::unregister_service(), kcenon::network::protocols::quic::quic_crypto::update_keys(), kcenon::network::protocols::quic::transport_parameters::validate(), kcenon::network::facade::http_facade::validate_client_config(), kcenon::network::facade::quic_facade::validate_client_config(), kcenon::network::facade::tcp_facade::validate_client_config(), kcenon::network::facade::udp_facade::validate_client_config(), kcenon::network::facade::websocket_facade::validate_client_config(), kcenon::network::facade::http_facade::validate_server_config(), kcenon::network::facade::quic_facade::validate_server_config(), kcenon::network::facade::tcp_facade::validate_server_config(), kcenon::network::facade::udp_facade::validate_server_config(), kcenon::network::facade::websocket_facade::validate_server_config(), kcenon::network::protocols::quic::stream_manager::validate_stream_id(), kcenon::network::protocols::grpc::bidi_stream_impl::write(), kcenon::network::protocols::grpc::client_stream_writer_impl::write(), and kcenon::network::protocols::http2::http2_client::write_stream().

◆ get_error_details()

◆ get_error_source()

◆ initialize() [1/3]

VoidResult kcenon::network::initialize ( )
export

Initialize the network system with default production configuration.

Initialize the network system with default configuration.

This is the simplest way to initialize the network system. It uses production-optimized defaults with internally managed resources. Equivalent to calling initialize(network_config::production()).

Returns
VoidResult - ok() on success, error on failure

Possible errors:

  • already_exists: Network system already initialized
  • internal_error: System initialization failed
See also
initialize(const config::network_config&) For custom settings
initialize(const config::network_system_config&) For external dependencies
Returns
VoidResult - ok() on success, error on failure

Possible errors:

  • already_exists: Network system already initialized
  • internal_error: System initialization failed

Definition at line 27 of file network_system.cpp.

27{ return initialize(config::network_config::production()); }
VoidResult initialize()
Initialize the network system with default production configuration.

References initialize(), and kcenon::network::config::network_config::production().

Referenced by initialize(), and initialize().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ initialize() [2/3]

VoidResult kcenon::network::initialize ( const config::network_config & config)

Initialize the network system with custom settings.

Use this overload to customize thread pool, logger, and monitoring settings while letting the network system manage these resources internally.

Example:

// Use predefined configuration
auto result = initialize(network_config::development());
// Or customize specific settings
network_config cfg;
cfg.thread_pool.worker_count = 8;
cfg.logger.min_level = log_level::debug;
auto result = initialize(cfg);
Parameters
configConfiguration settings for internal resource creation
Returns
VoidResult - ok() on success, error on failure

Possible errors:

  • already_exists: Network system already initialized
  • invalid_argument: Invalid configuration values
  • internal_error: System initialization failed
See also
network_config For available settings and factory methods
initialize(const config::network_system_config&) For external dependencies

Definition at line 29 of file network_system.cpp.

29 {
30 if (g_initialized.load()) {
31 NETWORK_LOG_WARN("[network_system] Already initialized");
32 return error_void(already_exists, "Network system already initialized", "network_system");
33 }
34
35 try {
36 auto &ctx = core::network_context::instance();
37
38 // Initialize thread pool
39 if (config.thread_pool.worker_count >= 0) {
40 auto thread_pool = std::make_shared<integration::basic_thread_pool>(
41 config.thread_pool.worker_count == 0
42 ? std::thread::hardware_concurrency()
43 : config.thread_pool.worker_count);
44 ctx.set_thread_pool(thread_pool);
45 ctx.initialize(config.thread_pool.worker_count);
46 }
47
48 // Initialize logger
49 // Issue #285: Uses common_system_logger_adapter when available, basic_logger otherwise
50#if KCENON_WITH_COMMON_SYSTEM
51 auto logger = std::make_shared<integration::common_system_logger_adapter>();
52#else
53 auto logger = std::make_shared<integration::basic_logger>(config.logger.min_level);
54#endif
55 ctx.set_logger(logger);
56 integration::logger_integration_manager::instance().set_logger(logger);
57
58 // Initialize monitoring
59#if KCENON_WITH_MONITORING_SYSTEM
60 if (config.monitoring.enabled) {
61 auto monitoring =
62 std::make_shared<integration::monitoring_system_adapter>(
63 config.monitoring.service_name);
64 // Note: monitoring_system_adapter needs start() method
65 // monitoring->start();
66 ctx.set_monitoring(monitoring);
67 }
68#else
69 (void)config.monitoring; // Suppress unused parameter warning
70#endif
71
72 g_initialized.store(true);
73 NETWORK_LOG_INFO("[network_system] Initialized successfully");
74
75 return ok();
76 } catch (const std::exception &e) {
77 NETWORK_LOG_ERROR("[network_system] Initialization failed: " +
78 std::string(e.what()));
79 return error_void(internal_error, std::string("Initialization failed: ") + e.what(), "network_system");
80 }
81}
tracing_config config
Definition exporters.cpp:29
#define NETWORK_LOG_WARN(msg)
#define NETWORK_LOG_INFO(msg)
#define NETWORK_LOG_ERROR(msg)
static std::atomic< bool > g_initialized

References config, error_void(), g_initialized, kcenon::network::core::network_context::instance(), kcenon::network::integration::logger_integration_manager::instance(), NETWORK_LOG_ERROR, NETWORK_LOG_INFO, NETWORK_LOG_WARN, ok(), and kcenon::network::integration::logger_integration_manager::set_logger().

Here is the call graph for this function:

◆ initialize() [3/3]

VoidResult kcenon::network::initialize ( const config::network_system_config & config)

Initialize the network system with external dependencies.

Use this overload when integrating the network system with existing application infrastructure. This allows sharing thread pools, loggers, and monitoring systems with other components in your application.

Example:

// Share existing infrastructure
network_system_config cfg;
cfg.executor = my_app_thread_pool;
cfg.logger = my_app_logger;
cfg.runtime = network_config::production();
auto result = initialize(cfg);
Parameters
configConfiguration with external dependencies and runtime settings
Returns
VoidResult - ok() on success, error on failure

Possible errors:

  • already_exists: Network system already initialized
  • invalid_argument: Invalid configuration or dependencies
  • internal_error: System initialization failed
Note
Unset dependencies (nullptr) will be created internally using the runtime configuration settings.
See also
network_system_config For dependency injection options
initialize(const config::network_config&) For standalone usage

Definition at line 83 of file network_system.cpp.

83 {
84#if KCENON_WITH_COMMON_SYSTEM
85 auto &ctx = core::network_context::instance();
86
87 if (config_with_dependencies.executor) {
88 auto pool_adapter =
89 std::make_shared<integration::common_thread_pool_adapter>(
90 config_with_dependencies.executor);
91 ctx.set_thread_pool(pool_adapter);
92 }
93
94 if (config_with_dependencies.logger) {
95 auto logger_adapter = std::make_shared<integration::common_logger_adapter>(
96 config_with_dependencies.logger);
97 ctx.set_logger(logger_adapter);
98 }
99
100#if KCENON_WITH_MONITORING_SYSTEM
101 if (config_with_dependencies.monitor) {
102 auto monitoring_adapter =
103 std::make_shared<integration::common_monitoring_adapter>(
104 config_with_dependencies.monitor);
105 ctx.set_monitoring(monitoring_adapter);
106 }
107#endif
108#else
109 (void)config_with_dependencies;
110#endif
111
112 return initialize(config_with_dependencies.runtime);
113}

References kcenon::network::config::network_system_config::executor, initialize(), kcenon::network::core::network_context::instance(), kcenon::network::config::network_system_config::logger, kcenon::network::config::network_system_config::monitor, and kcenon::network::config::network_system_config::runtime.

Here is the call graph for this function:

◆ is_initialized()

bool kcenon::network::is_initialized ( )
exportnoexcept

Check if network system is initialized.

Returns
true if initialized, false otherwise

Definition at line 137 of file network_system.cpp.

137{ return g_initialized.load(); }

References g_initialized.

◆ ok() [1/2]

VoidResult kcenon::network::ok ( )
inline
Examples
/home/runner/work/network_system/network_system/include/kcenon/network/types/result.h, and /home/runner/work/network_system/network_system/src/internal/utils/message_validator.h.

Definition at line 224 of file result_types.h.

224 {
225 return VoidResult(std::monostate{});
226 }

Referenced by kcenon::network::internal::quic_socket::accept(), kcenon::network::protocols::quic::connection::add_local_cid(), kcenon::network::protocols::quic::connection_id_manager::add_peer_cid(), kcenon::network::internal::websocket_socket::async_send_binary(), kcenon::network::internal::websocket_socket::async_send_text(), kcenon::network::core::messaging_quic_server::broadcast(), kcenon::network::unified::adapters::quic_listener_adapter::broadcast(), kcenon::network::unified::adapters::tcp_listener_adapter::broadcast(), kcenon::network::unified::adapters::udp_listener_adapter::broadcast(), kcenon::network::unified::adapters::ws_listener_adapter::broadcast(), kcenon::network::protocols::http2::http2_client::cancel_stream(), kcenon::network::core::messaging_ws_client::close(), kcenon::network::core::ws_connection_impl::close(), kcenon::network::internal::quic_socket::close(), kcenon::network::protocols::quic::connection::close(), kcenon::network::session::quic_session::close(), kcenon::network::protocols::quic::connection::close_application(), kcenon::network::internal::quic_socket::close_stream(), kcenon::network::protocols::http2::http2_client::close_stream_writer(), kcenon::network::internal::quic_socket::connect(), kcenon::network::protocols::http2::http2_client::connect(), kcenon::network::unified::adapters::quic_connection_adapter::connect(), kcenon::network::utils::resilient_client::connect(), kcenon::network::protocols::quic::flow_controller::consume_send_window(), kcenon::network::protocols::quic::stream_manager::create_bidirectional_stream(), kcenon::network::facade::http_facade::create_client(), kcenon::network::facade::quic_facade::create_client(), kcenon::network::facade::tcp_facade::create_client(), kcenon::network::facade::udp_facade::create_client(), kcenon::network::facade::websocket_facade::create_client(), kcenon::network::facade::tcp_facade::create_connection_pool(), kcenon::network::facade::http_facade::create_server(), kcenon::network::facade::quic_facade::create_server(), kcenon::network::facade::tcp_facade::create_server(), kcenon::network::facade::udp_facade::create_server(), kcenon::network::facade::websocket_facade::create_server(), kcenon::network::internal::quic_socket::create_stream(), kcenon::network::protocols::quic::stream_manager::create_unidirectional_stream(), kcenon::network::protocols::quic::transport_parameters::decode(), kcenon::network::protocols::quic::varint::decode(), kcenon::network::protocols::quic::initial_keys::derive(), kcenon::network::protocols::quic::quic_crypto::derive_initial_secrets(), kcenon::network::protocols::quic::initial_keys::derive_keys(), kcenon::network::protocols::quic::quic_crypto::derive_zero_rtt_keys(), kcenon::network::protocols::http2::http2_client::disconnect(), kcenon::network::utils::resilient_client::disconnect(), kcenon::network::core::messaging_quic_server::disconnect_session(), kcenon::network::core::secure_messaging_udp_client::do_handshake(), kcenon::network::core::messaging_client::do_send_impl(), kcenon::network::core::secure_messaging_client::do_send_impl(), kcenon::network::core::secure_messaging_udp_client::do_send_impl(), kcenon::network::core::messaging_client::do_start_impl(), kcenon::network::core::messaging_quic_client::do_start_impl(), kcenon::network::core::messaging_quic_server::do_start_impl(), kcenon::network::core::messaging_server::do_start_impl(), kcenon::network::core::messaging_udp_client::do_start_impl(), kcenon::network::core::messaging_udp_server::do_start_impl(), kcenon::network::core::messaging_ws_client::do_start_impl(), kcenon::network::core::messaging_ws_server::do_start_impl(), kcenon::network::core::secure_messaging_client::do_start_impl(), kcenon::network::core::secure_messaging_server::do_start_impl(), kcenon::network::core::secure_messaging_udp_client::do_start_impl(), kcenon::network::utils::startable_base< Derived >::do_stop(), kcenon::network::core::messaging_client::do_stop_impl(), kcenon::network::core::messaging_quic_client::do_stop_impl(), kcenon::network::core::messaging_quic_server::do_stop_impl(), kcenon::network::core::messaging_server::do_stop_impl(), kcenon::network::core::messaging_udp_client::do_stop_impl(), kcenon::network::core::messaging_udp_server::do_stop_impl(), kcenon::network::core::messaging_ws_client::do_stop_impl(), kcenon::network::core::messaging_ws_server::do_stop_impl(), kcenon::network::core::secure_messaging_client::do_stop_impl(), kcenon::network::core::secure_messaging_server::do_stop_impl(), kcenon::network::core::secure_messaging_udp_client::do_stop_impl(), kcenon::network::protocols::quic::quic_crypto::enable_early_data(), kcenon::network::protocols::quic::varint::encode_with_length(), kcenon::network::protocols::quic::hkdf::expand(), kcenon::network::protocols::quic::hkdf::extract(), kcenon::network::protocols::quic::stream::finish(), kcenon::network::protocols::quic::packet_protection::generate_hp_mask(), kcenon::network::protocols::quic::stream_manager::get_or_create_stream(), kcenon::network::protocols::quic::quic_crypto::get_read_keys(), kcenon::network::protocols::quic::quic_crypto::get_write_keys(), kcenon::network::protocols::http2::http2_client::handle_data_frame(), kcenon::network::protocols::http2::http2_server_connection::handle_data_frame(), kcenon::network::protocols::quic::connection::handle_frame(), kcenon::network::protocols::http2::http2_client::handle_goaway_frame(), kcenon::network::protocols::http2::http2_server_connection::handle_goaway_frame(), kcenon::network::protocols::http2::http2_client::handle_headers_frame(), kcenon::network::protocols::http2::http2_server_connection::handle_headers_frame(), kcenon::network::protocols::http2::http2_client::handle_ping_frame(), kcenon::network::protocols::http2::http2_server_connection::handle_ping_frame(), kcenon::network::protocols::http2::http2_client::handle_rst_stream_frame(), kcenon::network::protocols::http2::http2_server_connection::handle_rst_stream_frame(), kcenon::network::protocols::http2::http2_client::handle_settings_frame(), kcenon::network::protocols::http2::http2_server_connection::handle_settings_frame(), kcenon::network::protocols::http2::http2_client::handle_window_update_frame(), kcenon::network::protocols::http2::http2_server_connection::handle_window_update_frame(), kcenon::network::protocols::quic::quic_crypto::init_client(), kcenon::network::protocols::quic::quic_crypto::init_server(), kcenon::network::protocols::quic::connection::init_server_handshake(), kcenon::network::core::secure_messaging_udp_client::init_ssl_context(), kcenon::network::core::secure_messaging_udp_server::init_ssl_context(), kcenon::network::core::connection_pool::initialize(), initialize(), kcenon::network::integration::messaging_bridge::initialize(), kcenon::network::integration::NetworkSystemBridge::Impl::initialize(), kcenon::network::integration::ObservabilityBridge::initialize(), kcenon::network::integration::ThreadPoolBridge::initialize(), kcenon::network::core::messaging_quic_server::multicast(), kcenon::network::core::http_url::parse(), kcenon::network::protocols::quic::frame_parser::parse(), kcenon::network::protocols::quic::frame_parser::parse_ack(), kcenon::network::protocols::quic::frame_parser::parse_all(), kcenon::network::protocols::quic::frame_parser::parse_connection_close(), kcenon::network::protocols::quic::frame_parser::parse_crypto(), kcenon::network::protocols::quic::frame_parser::parse_data_blocked(), kcenon::network::protocols::quic::frame_parser::parse_handshake_done(), kcenon::network::protocols::quic::packet_parser::parse_header(), kcenon::network::protocols::quic::packet_parser::parse_long_header(), kcenon::network::protocols::quic::frame_parser::parse_max_data(), kcenon::network::protocols::quic::frame_parser::parse_max_stream_data(), kcenon::network::protocols::quic::frame_parser::parse_max_streams(), kcenon::network::internal::http_parser::parse_multipart_form_data(), kcenon::network::protocols::quic::frame_parser::parse_new_connection_id(), kcenon::network::protocols::quic::frame_parser::parse_new_token(), kcenon::network::protocols::quic::frame_parser::parse_padding(), kcenon::network::protocols::quic::frame_parser::parse_path_challenge(), kcenon::network::protocols::quic::frame_parser::parse_path_response(), kcenon::network::protocols::quic::frame_parser::parse_ping(), kcenon::network::internal::http_parser::parse_request(), kcenon::network::internal::http_parser::parse_request_line(), kcenon::network::protocols::quic::frame_parser::parse_reset_stream(), kcenon::network::internal::http_parser::parse_response(), kcenon::network::protocols::quic::frame_parser::parse_retire_connection_id(), kcenon::network::protocols::quic::packet_parser::parse_short_header(), kcenon::network::internal::http_parser::parse_status_line(), kcenon::network::protocols::quic::frame_parser::parse_stop_sending(), kcenon::network::protocols::quic::frame_parser::parse_stream(), kcenon::network::protocols::quic::frame_parser::parse_stream_data_blocked(), kcenon::network::protocols::quic::frame_parser::parse_streams_blocked(), kcenon::network::protocols::quic::quic_crypto::process_crypto_data(), kcenon::network::protocols::http2::http2_client::process_frame(), kcenon::network::protocols::http2::http2_server_connection::process_frame(), kcenon::network::protocols::quic::connection::process_frames(), kcenon::network::protocols::quic::connection::process_long_header_packet(), kcenon::network::protocols::quic::packet_protection::protect(), kcenon::network::protocols::quic::packet_protection::protect_header(), kcenon::network::protocols::quic::stream::read(), kcenon::network::protocols::quic::stream::receive_data(), kcenon::network::protocols::quic::connection::receive_packet(), kcenon::network::protocols::quic::stream::receive_reset(), kcenon::network::protocols::quic::stream::receive_stop_sending(), kcenon::network::utils::resilient_client::reconnect(), kcenon::network::protocols::quic::flow_controller::record_received(), kcenon::network::protocols::http2::http2_server_stream::reset(), kcenon::network::protocols::quic::stream::reset(), kcenon::network::protocols::quic::connection::retire_cid(), kcenon::network::protocols::quic::connection_id_manager::retire_peer_cid(), kcenon::network::protocols::quic::connection_id_manager::rotate_peer_cid(), kcenon::network::core::messaging_udp_client::send(), kcenon::network::internal::adapters::http_client_adapter::send(), kcenon::network::internal::adapters::http_request_session::send(), kcenon::network::session::messaging_session::send(), kcenon::network::unified::adapters::quic_connection_adapter::send(), kcenon::network::unified::adapters::quic_connection_adapter::send(), kcenon::network::protocols::http2::http2_client::send_connection_preface(), kcenon::network::protocols::http2::http2_server_stream::send_data(), kcenon::network::protocols::http2::http2_client::send_frame(), kcenon::network::protocols::http2::http2_server_connection::send_frame(), kcenon::network::protocols::http2::http2_server_stream::send_headers(), kcenon::network::internal::quic_socket::send_packet(), kcenon::network::core::secure_messaging_udp_client::send_packet_with_handler(), kcenon::network::core::messaging_ws_client::send_ping(), kcenon::network::protocols::http2::http2_client::send_request(), kcenon::network::internal::quic_socket::send_stream_data(), kcenon::network::core::messaging_udp_server::send_to(), kcenon::network::unified::adapters::quic_listener_adapter::send_to(), kcenon::network::utils::resilient_client::send_with_retry(), kcenon::network::protocols::quic::quic_crypto::set_alpn(), kcenon::network::core::secure_messaging_udp_server::set_certificate_chain_file(), kcenon::network::integration::NetworkSystemBridge::Impl::set_logger(), kcenon::network::integration::NetworkSystemBridge::Impl::set_monitoring(), kcenon::network::core::secure_messaging_udp_server::set_private_key_file(), kcenon::network::protocols::quic::quic_crypto::set_session_ticket(), kcenon::network::core::messaging_udp_client::set_target(), kcenon::network::integration::NetworkSystemBridge::Impl::set_thread_pool_bridge(), kcenon::network::unified::adapters::quic_listener_adapter::setup_socket(), kcenon::network::integration::messaging_bridge::shutdown(), kcenon::network::integration::NetworkSystemBridge::Impl::shutdown(), kcenon::network::integration::NetworkSystemBridge::shutdown(), kcenon::network::integration::ObservabilityBridge::shutdown(), kcenon::network::integration::ThreadPoolBridge::shutdown(), shutdown(), kcenon::network::internal::adapters::http_client_adapter::start(), kcenon::network::protocols::http2::http2_server::start(), kcenon::network::protocols::http2::http2_server_connection::start(), kcenon::network::unified::adapters::quic_listener_adapter::start(), kcenon::network::core::reliable_udp_client::impl::start_client(), kcenon::network::protocols::quic::connection::start_handshake(), kcenon::network::protocols::quic::quic_crypto::start_handshake(), kcenon::network::core::secure_messaging_udp_server::start_server(), kcenon::network::protocols::http2::http2_client::start_stream(), kcenon::network::protocols::http2::http2_server::start_tls(), kcenon::network::internal::adapters::http_client_adapter::stop(), kcenon::network::protocols::http2::http2_server::stop(), kcenon::network::protocols::http2::http2_server_connection::stop(), kcenon::network::core::messaging_quic_client::stop_client(), kcenon::network::core::messaging_udp_client::stop_client(), kcenon::network::core::messaging_ws_client::stop_client(), kcenon::network::core::reliable_udp_client::impl::stop_client(), kcenon::network::core::secure_messaging_client::stop_client(), kcenon::network::core::secure_messaging_udp_client::stop_client(), kcenon::network::protocols::quic::stream::stop_sending(), kcenon::network::core::messaging_udp_server::stop_server(), kcenon::network::core::messaging_ws_server::stop_server(), kcenon::network::core::secure_messaging_server::stop_server(), kcenon::network::core::secure_messaging_udp_server::stop_server(), kcenon::network::protocols::quic::packet_protection::unprotect(), kcenon::network::protocols::quic::packet_protection::unprotect_header(), kcenon::network::protocols::quic::quic_crypto::update_keys(), kcenon::network::protocols::quic::transport_parameters::validate(), kcenon::network::facade::http_facade::validate_client_config(), kcenon::network::facade::quic_facade::validate_client_config(), kcenon::network::facade::tcp_facade::validate_client_config(), kcenon::network::facade::udp_facade::validate_client_config(), kcenon::network::facade::websocket_facade::validate_client_config(), kcenon::network::facade::http_facade::validate_server_config(), kcenon::network::facade::quic_facade::validate_server_config(), kcenon::network::facade::tcp_facade::validate_server_config(), kcenon::network::facade::udp_facade::validate_server_config(), kcenon::network::facade::websocket_facade::validate_server_config(), kcenon::network::protocols::quic::stream_manager::validate_stream_id(), kcenon::network::protocols::quic::stream::write(), and kcenon::network::protocols::http2::http2_client::write_stream().

◆ ok() [2/2]

template<typename T >
Result< T > kcenon::network::ok ( T && value)
inline

Definition at line 220 of file result_types.h.

220 {
221 return Result<T>(std::forward<T>(value));
222 }

◆ shutdown()

VoidResult kcenon::network::shutdown ( )
export

Shutdown the network system.

Returns
VoidResult - ok() on success, error on failure

Possible errors:

  • not_initialized: Network system not initialized
  • internal_error: Shutdown failed

Definition at line 115 of file network_system.cpp.

115 {
116 if (!g_initialized.load()) {
117 return error_void(not_initialized, "Network system not initialized", "network_system");
118 }
119
120 try {
121 NETWORK_LOG_INFO("[network_system] Shutting down...");
122
123 auto &ctx = core::network_context::instance();
124 ctx.shutdown();
125
126 g_initialized.store(false);
127 NETWORK_LOG_INFO("[network_system] Shutdown complete");
128
129 return ok();
130 } catch (const std::exception &e) {
131 NETWORK_LOG_ERROR("[network_system] Shutdown error: " +
132 std::string(e.what()));
133 return error_void(internal_error, std::string("Shutdown failed: ") + e.what(), "network_system");
134 }
135}

References error_void(), g_initialized, kcenon::network::core::network_context::instance(), NETWORK_LOG_ERROR, NETWORK_LOG_INFO, and ok().

Here is the call graph for this function:

◆ to_index()

template<typename E >
auto kcenon::network::to_index ( E e) -> std::size_t
constexprnoexcept

Helper to convert enum to std::size_t for callback_manager access.

Template Parameters
EThe enum type.
Parameters
eThe enum value.
Returns
The underlying std::size_t value.

Definition at line 162 of file callback_indices.h.

163{
164 static_assert(std::is_enum_v<E>, "to_index requires an enum type");
165 return static_cast<std::size_t>(e);
166}

Referenced by kcenon::network::core::messaging_server::get_connection_callback(), kcenon::network::core::secure_messaging_server::get_connection_callback(), kcenon::network::core::messaging_server::get_disconnection_callback(), kcenon::network::core::secure_messaging_server::get_disconnection_callback(), kcenon::network::core::messaging_server::get_error_callback(), kcenon::network::core::messaging_udp_client::get_error_callback(), kcenon::network::core::messaging_udp_server::get_error_callback(), kcenon::network::core::secure_messaging_server::get_error_callback(), kcenon::network::core::messaging_server::get_receive_callback(), kcenon::network::core::messaging_udp_client::get_receive_callback(), kcenon::network::core::messaging_udp_server::get_receive_callback(), kcenon::network::core::secure_messaging_server::get_receive_callback(), kcenon::network::core::messaging_client::invoke_connected_callback(), kcenon::network::core::messaging_quic_client::invoke_connected_callback(), kcenon::network::core::messaging_ws_client::invoke_connected_callback(), kcenon::network::core::secure_messaging_client::invoke_connected_callback(), kcenon::network::core::secure_messaging_udp_client::invoke_connected_callback(), kcenon::network::core::messaging_quic_server::invoke_connection_callback(), kcenon::network::core::messaging_server::invoke_connection_callback(), kcenon::network::core::messaging_ws_server::invoke_connection_callback(), kcenon::network::core::secure_messaging_server::invoke_connection_callback(), kcenon::network::core::messaging_client::invoke_disconnected_callback(), kcenon::network::core::messaging_quic_client::invoke_disconnected_callback(), kcenon::network::core::messaging_ws_client::invoke_disconnected_callback(), kcenon::network::core::secure_messaging_client::invoke_disconnected_callback(), kcenon::network::core::secure_messaging_udp_client::invoke_disconnected_callback(), kcenon::network::core::messaging_quic_server::invoke_disconnection_callback(), kcenon::network::core::messaging_ws_server::invoke_disconnection_callback(), kcenon::network::core::messaging_client::invoke_error_callback(), kcenon::network::core::messaging_quic_client::invoke_error_callback(), kcenon::network::core::messaging_quic_server::invoke_error_callback(), kcenon::network::core::messaging_udp_client::invoke_error_callback(), kcenon::network::core::messaging_udp_server::invoke_error_callback(), kcenon::network::core::messaging_ws_client::invoke_error_callback(), kcenon::network::core::messaging_ws_server::invoke_error_callback(), kcenon::network::core::secure_messaging_client::invoke_error_callback(), kcenon::network::core::secure_messaging_udp_client::invoke_error_callback(), kcenon::network::core::messaging_ws_client::invoke_message_callback(), kcenon::network::core::messaging_ws_server::invoke_message_callback(), kcenon::network::core::messaging_client::invoke_receive_callback(), kcenon::network::core::messaging_quic_client::invoke_receive_callback(), kcenon::network::core::messaging_quic_server::invoke_receive_callback(), kcenon::network::core::messaging_udp_client::invoke_receive_callback(), kcenon::network::core::messaging_udp_server::invoke_receive_callback(), kcenon::network::core::secure_messaging_client::invoke_receive_callback(), kcenon::network::core::secure_messaging_udp_client::invoke_receive_callback(), kcenon::network::core::messaging_quic_client::invoke_stream_receive_callback(), kcenon::network::core::messaging_quic_server::invoke_stream_receive_callback(), kcenon::network::core::messaging_client::on_stopped(), kcenon::network::core::messaging_ws_client::set_binary_callback(), kcenon::network::core::messaging_ws_server::set_binary_callback(), kcenon::network::core::messaging_client::set_connected_callback(), kcenon::network::core::messaging_quic_client::set_connected_callback(), kcenon::network::core::messaging_ws_client::set_connected_callback(), kcenon::network::core::secure_messaging_client::set_connected_callback(), kcenon::network::core::secure_messaging_udp_client::set_connected_callback(), kcenon::network::core::messaging_quic_server::set_connection_callback(), kcenon::network::core::messaging_server::set_connection_callback(), kcenon::network::core::messaging_ws_server::set_connection_callback(), kcenon::network::core::secure_messaging_server::set_connection_callback(), kcenon::network::core::messaging_client::set_disconnected_callback(), kcenon::network::core::messaging_quic_client::set_disconnected_callback(), kcenon::network::core::messaging_ws_client::set_disconnected_callback(), kcenon::network::core::secure_messaging_client::set_disconnected_callback(), kcenon::network::core::secure_messaging_udp_client::set_disconnected_callback(), kcenon::network::core::messaging_quic_server::set_disconnection_callback(), kcenon::network::core::messaging_server::set_disconnection_callback(), kcenon::network::core::messaging_ws_server::set_disconnection_callback(), kcenon::network::core::secure_messaging_server::set_disconnection_callback(), kcenon::network::core::messaging_client::set_error_callback(), kcenon::network::core::messaging_quic_client::set_error_callback(), kcenon::network::core::messaging_quic_server::set_error_callback(), kcenon::network::core::messaging_server::set_error_callback(), kcenon::network::core::messaging_udp_client::set_error_callback(), kcenon::network::core::messaging_udp_server::set_error_callback(), kcenon::network::core::messaging_ws_client::set_error_callback(), kcenon::network::core::messaging_ws_server::set_error_callback(), kcenon::network::core::secure_messaging_client::set_error_callback(), kcenon::network::core::secure_messaging_server::set_error_callback(), kcenon::network::core::secure_messaging_udp_client::set_error_callback(), kcenon::network::core::messaging_client::set_receive_callback(), kcenon::network::core::messaging_quic_client::set_receive_callback(), kcenon::network::core::messaging_quic_server::set_receive_callback(), kcenon::network::core::messaging_server::set_receive_callback(), kcenon::network::core::messaging_udp_client::set_receive_callback(), kcenon::network::core::messaging_udp_client::set_receive_callback(), kcenon::network::core::messaging_udp_server::set_receive_callback(), kcenon::network::core::messaging_udp_server::set_receive_callback(), kcenon::network::core::secure_messaging_client::set_receive_callback(), kcenon::network::core::secure_messaging_server::set_receive_callback(), kcenon::network::core::secure_messaging_udp_client::set_receive_callback(), kcenon::network::core::messaging_quic_client::set_stream_callback(), kcenon::network::core::messaging_quic_client::set_stream_receive_callback(), kcenon::network::core::messaging_quic_server::set_stream_receive_callback(), kcenon::network::core::messaging_ws_client::set_text_callback(), and kcenon::network::core::messaging_ws_server::set_text_callback().

◆ to_string()

const char * kcenon::network::to_string ( validation_result result)
inline

Convert validation result to string.

Examples
/home/runner/work/network_system/network_system/src/internal/utils/message_validator.h.

Definition at line 88 of file message_validator.h.

88 {
89 switch (result) {
90 case validation_result::ok:
91 return "ok";
92 case validation_result::size_exceeded:
93 return "size_exceeded";
94 case validation_result::null_byte_detected:
95 return "null_byte_detected";
96 case validation_result::invalid_format:
97 return "invalid_format";
98 case validation_result::invalid_character:
99 return "invalid_character";
100 case validation_result::header_count_exceeded:
101 return "header_count_exceeded";
102 default:
103 return "unknown";
104 }
105}

References header_count_exceeded, invalid_character, invalid_format, null_byte_detected, ok, and size_exceeded.

◆ version()

Variable Documentation

◆ g_initialized

std::atomic<bool> kcenon::network::g_initialized {false}
static

Definition at line 25 of file network_system.cpp.

25{false};

Referenced by initialize(), is_initialized(), and shutdown().