|
Network System 0.1.1
High-performance modular networking library for scalable client-server applications
|
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} |
Main namespace for all Network System components.
Definition at line 163 of file result_types.h.
| using kcenon::network::VoidResult = Result<std::monostate> |
Definition at line 162 of file result_types.h.
|
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.
|
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.
|
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.
|
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.
|
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.
|
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.
|
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.
|
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.
|
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.
|
strong |
Result type for validation operations.
Definition at line 76 of file message_validator.h.
|
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.
|
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.
|
inline |
Definition at line 229 of file result_types.h.
References message.
|
inline |
Definition at line 235 of file result_types.h.
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().
|
inline |
Definition at line 242 of file result_types.h.
References kcenon::network::simple_error::details.
Referenced by kcenon::network::protocols::grpc::grpc_client::impl::bidi_stream_raw(), kcenon::network::protocols::grpc::grpc_client::impl::call_raw(), kcenon::network::protocols::grpc::grpc_client::impl::client_stream_raw(), kcenon::network::protocols::grpc::grpc_client::impl::connect(), kcenon::network::protocols::http2::http2_client::handle_headers_frame(), kcenon::network::protocols::http2::http2_client::read_frame(), kcenon::network::protocols::http2::http2_client::send_request(), kcenon::network::protocols::grpc::grpc_client::impl::server_stream_raw(), and kcenon::network::protocols::http2::http2_client::start_stream().

|
inline |
Definition at line 247 of file result_types.h.
References kcenon::network::simple_error::source.
Referenced by kcenon::network::protocols::quic::quic_crypto::derive_initial_secrets(), kcenon::network::protocols::quic::packet_protection::protect_header(), kcenon::network::protocols::quic::packet_protection::unprotect_header(), and kcenon::network::protocols::quic::quic_crypto::update_keys().

|
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()).
Possible errors:
Possible errors:
Definition at line 27 of file network_system.cpp.
References initialize(), and kcenon::network::config::network_config::production().
Referenced by initialize(), and initialize().


| 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:
| config | Configuration settings for internal resource creation |
Possible errors:
Definition at line 29 of file network_system.cpp.
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().

| 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:
| config | Configuration with external dependencies and runtime settings |
Possible errors:
Definition at line 83 of file network_system.cpp.
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.

|
exportnoexcept |
Check if network system is initialized.
Definition at line 137 of file network_system.cpp.
References g_initialized.
|
inline |
Definition at line 224 of file result_types.h.
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().
|
inline |
Definition at line 220 of file result_types.h.
|
export |
Shutdown the network system.
Possible errors:
Definition at line 115 of file network_system.cpp.
References error_void(), g_initialized, kcenon::network::core::network_context::instance(), NETWORK_LOG_ERROR, NETWORK_LOG_INFO, and ok().

|
constexprnoexcept |
Helper to convert enum to std::size_t for callback_manager access.
| E | The enum type. |
| e | The enum value. |
Definition at line 162 of file callback_indices.h.
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().
|
inline |
Convert validation result to string.
Definition at line 88 of file message_validator.h.
References header_count_exceeded, invalid_character, invalid_format, null_byte_detected, ok, and size_exceeded.
|
constexprexportnoexcept |
Get the network system version string.
Definition at line 111 of file network.cppm.
References kcenon::network::module_version::string.
Referenced by kcenon::network::protocols::quic::packet_builder::build_handshake(), kcenon::network::protocols::quic::packet_builder::build_initial(), kcenon::network::protocols::quic::packet_builder::build_retry(), kcenon::network::protocols::quic::packet_builder::build_zero_rtt(), kcenon::network::protocols::quic::initial_keys::derive(), kcenon::network::internal::http_version_to_string(), and kcenon::network::protocols::quic::packet_parser::is_version_negotiation().

|
static |
Definition at line 25 of file network_system.cpp.
Referenced by initialize(), is_initialized(), and shutdown().