turbomcp_client/client/
config.rs

1//! Client configuration types and utilities
2//!
3//! This module contains configuration structures for MCP client connections
4//! and initialization results.
5
6use turbomcp_protocol::types::ServerCapabilities;
7
8/// Result of client initialization containing server information
9#[derive(Debug, Clone)]
10pub struct InitializeResult {
11    /// Information about the server
12    pub server_info: turbomcp_protocol::types::Implementation,
13
14    /// Capabilities supported by the server
15    pub server_capabilities: ServerCapabilities,
16}
17
18/// Connection configuration for the client
19#[derive(Debug, Clone)]
20pub struct ConnectionConfig {
21    /// Request timeout in milliseconds
22    pub timeout_ms: u64,
23
24    /// Maximum number of retry attempts
25    pub max_retries: u32,
26
27    /// Retry delay in milliseconds
28    pub retry_delay_ms: u64,
29
30    /// Keep-alive interval in milliseconds
31    pub keepalive_ms: u64,
32}
33
34impl Default for ConnectionConfig {
35    fn default() -> Self {
36        Self {
37            timeout_ms: 30_000,    // 30 seconds
38            max_retries: 3,        // 3 attempts
39            retry_delay_ms: 1_000, // 1 second
40            keepalive_ms: 60_000,  // 60 seconds
41        }
42    }
43}