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

Utility components for network_system. More...

Classes

class  buffer_pool
 Thread-safe memory pool for reusable byte buffers. More...
 
class  callback_manager
 Thread-safe callback storage and invocation utility. More...
 
class  compression_pipeline
 Message compression and decompression pipeline. More...
 
struct  connection_health
 Contains connection health metrics. More...
 
class  connection_state
 Thread-safe connection state management. More...
 
class  health_monitor
 Monitors connection health with heartbeat mechanism. More...
 
class  lifecycle_manager
 Thread-safe lifecycle state management for network components. More...
 
class  memory_profiler
 
struct  memory_snapshot
 
class  resilient_client
 Wrapper around messaging_client that adds automatic reconnection with exponential backoff and circuit breaker pattern. More...
 
class  startable_base
 CRTP base class providing unified start/stop lifecycle management. More...
 
struct  tcp_client_callback_index
 Callback indices for tcp_client_callbacks. More...
 

Typedefs

using tcp_client_callbacks
 Callback manager for TCP client callbacks.
 

Enumerations

enum class  compression_algorithm { none , lz4 , gzip , deflate }
 Supported compression algorithms. More...
 
enum class  connection_status : uint8_t { disconnected = 0 , connecting = 1 , connected = 2 , disconnecting = 3 }
 Represents the connection state of a network component. More...
 

Functions

auto make_compress_function (std::shared_ptr< compression_pipeline > pipeline) -> std::function< std::vector< uint8_t >(const std::vector< uint8_t > &)>
 Creates a compression function for pipeline integration.
 
auto make_decompress_function (std::shared_ptr< compression_pipeline > pipeline) -> std::function< std::vector< uint8_t >(const std::vector< uint8_t > &)>
 Creates a decompression function for pipeline integration.
 

Detailed Description

Utility components for network_system.

This namespace contains essential utility components:

  • Result types: Error handling with Result<T>/VoidResult pattern
  • Lifecycle management: Component start/stop lifecycle patterns
  • Callback management: Type-safe callback registration and invocation

All utilities use modern C++ patterns and are designed for:

  • Type safety with minimal overhead
  • Thread-safe operations where applicable
  • Clear error reporting through Result<T>

Typedef Documentation

◆ tcp_client_callbacks

Initial value:
callback_manager<
std::function<void(const std::vector<uint8_t>&)>,
std::function<void()>,
std::function<void()>,
std::function<void(std::error_code)>
>

Callback manager for TCP client callbacks.

Index mapping:

  • 0: receive_callback (vector<uint8_t>&&)
  • 1: connected_callback ()
  • 2: disconnected_callback ()
  • 3: error_callback (error_code)

Definition at line 216 of file callback_manager.h.

Enumeration Type Documentation

◆ compression_algorithm

Supported compression algorithms.

Enumerator
none 

No compression

lz4 

LZ4 fast compression

gzip 

GZIP compression (RFC 1952)

deflate 

DEFLATE compression (RFC 1951)

Definition at line 22 of file compression_pipeline.h.

23 {
24 none,
25 lz4,
26 gzip,
27 deflate
28 };

◆ connection_status

enum class kcenon::network::utils::connection_status : uint8_t
strong

Represents the connection state of a network component.

Enumerator
disconnected 

Not connected.

connecting 

Connection in progress.

connected 

Successfully connected.

disconnecting 

Disconnection in progress.

Definition at line 17 of file connection_state.h.

Function Documentation

◆ make_compress_function()

auto kcenon::network::utils::make_compress_function ( std::shared_ptr< compression_pipeline > pipeline) -> std::function< std::vector< uint8_t >(const std::vector< uint8_t > &)>

Creates a compression function for pipeline integration.

Parameters
pipelineCompression pipeline to use
Returns
Function object for compress operation

Definition at line 495 of file compression_pipeline.cpp.

497 {
498 return [pipeline](const std::vector<uint8_t>& input) -> std::vector<uint8_t> {
499 auto result = pipeline->compress(input);
500 if (result.is_err())
501 {
502 NETWORK_LOG_ERROR("[compression] Compression failed: " + result.error().message);
503 return input; // Return uncompressed on error
504 }
505 return result.value();
506 };
507 }
#define NETWORK_LOG_ERROR(msg)

References NETWORK_LOG_ERROR.

◆ make_decompress_function()

auto kcenon::network::utils::make_decompress_function ( std::shared_ptr< compression_pipeline > pipeline) -> std::function< std::vector< uint8_t >(const std::vector< uint8_t > &)>

Creates a decompression function for pipeline integration.

Parameters
pipelineCompression pipeline to use
Returns
Function object for decompress operation

Definition at line 509 of file compression_pipeline.cpp.

511 {
512 return [pipeline](const std::vector<uint8_t>& input) -> std::vector<uint8_t> {
513 auto result = pipeline->decompress(input);
514 if (result.is_err())
515 {
516 NETWORK_LOG_ERROR("[compression] Decompression failed: " + result.error().message);
517 return input; // Return as-is on error
518 }
519 return result.value();
520 };
521 }

References NETWORK_LOG_ERROR.