113 std::chrono::milliseconds
timeout = std::chrono::seconds(30);
Manages a pool of reusable client connections to reduce connection overhead and improve performance.
Simplified facade for creating TCP clients and servers.
static auto validate_server_config(const server_config &config) -> VoidResult
Validates server configuration.
auto create_server(const server_config &config) const -> Result< std::shared_ptr< interfaces::i_protocol_server > >
Creates a TCP server with the specified configuration.
auto create_connection_pool(const pool_config &config) const -> Result< std::shared_ptr< core::connection_pool > >
Creates a TCP connection pool with the specified configuration.
auto create_client(const client_config &config) const -> Result< std::shared_ptr< interfaces::i_protocol_client > >
Creates a TCP client with the specified configuration.
static auto generate_server_id() -> std::string
Generates a unique server ID.
static auto generate_client_id() -> std::string
Generates a unique client ID.
static auto validate_client_config(const client_config &config) -> VoidResult
Validates client configuration.
Protocol-specific client interface extending i_client.
Protocol-specific server interface extending i_server.
Result< std::monostate > VoidResult
Public header for Result<T> error handling types.
Configuration for creating a TCP client.
bool use_ssl
Whether to use SSL/TLS.
std::chrono::milliseconds timeout
Connection timeout.
bool verify_certificate
Whether to verify SSL certificate (default: true)
std::string client_id
Client identifier (optional, auto-generated if not provided)
std::string host
Server hostname or IP address.
std::optional< std::string > ca_cert_path
Path to CA certificate file (for SSL verification)
uint16_t port
Server port number.
Configuration for creating a TCP connection pool.
std::chrono::seconds acquire_timeout
Maximum time to wait when acquiring a connection (default: 30s). Use std::chrono::seconds::zero() for...
size_t pool_size
Number of connections to maintain in the pool.
uint16_t port
Server port number.
std::string host
Server hostname or IP address.
Configuration for creating a TCP server.
std::optional< std::string > cert_path
Path to server certificate file (required if use_ssl=true)
std::optional< std::string > tls_version
SSL/TLS protocol version (default: TLS 1.2+)
std::string server_id
Server identifier (optional, auto-generated if not provided)
bool use_ssl
Whether to use SSL/TLS.
std::optional< std::string > key_path
Path to server private key file (required if use_ssl=true)
uint16_t port
Port number to listen on.