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}