89 std::chrono::milliseconds
timeout = std::chrono::seconds(30);
Simplified facade for creating HTTP clients and servers.
static auto validate_server_config(const server_config &config) -> VoidResult
Validates server configuration.
static auto validate_client_config(const client_config &config) -> VoidResult
Validates client configuration.
auto create_server(const server_config &config) const -> Result< std::shared_ptr< interfaces::i_protocol_server > >
Creates an HTTP server with the specified configuration.
static auto generate_server_id() -> std::string
Generates a unique server ID.
auto create_client(const client_config &config) const -> Result< std::shared_ptr< interfaces::i_protocol_client > >
Creates an HTTP client with the specified configuration.
static auto generate_client_id() -> std::string
Generates a unique client ID.
Unified interface for all protocol client implementations.
Unified interface for all protocol server implementations.
Result< std::monostate > VoidResult
Public header for Result<T> error handling types.
Configuration for creating an HTTP client.
std::string client_id
Client identifier (auto-generated if not provided)
bool use_ssl
Whether to use HTTPS.
std::chrono::milliseconds timeout
Request timeout.
std::string path
HTTP path (default: "/")
Configuration for creating an HTTP server.
uint16_t port
Port number to listen on.
std::string server_id
Server identifier (optional, auto-generated if not provided)