rust_mcp_sdk/hyper_servers/
app_state.rs1use std::{sync::Arc, time::Duration};
2
3use crate::schema::InitializeResult;
4use rust_mcp_transport::TransportOptions;
5
6use crate::mcp_traits::mcp_handler::McpServerHandler;
7
8use super::{session_store::SessionStore, IdGenerator};
9
10#[derive(Clone)]
15pub struct AppState {
16 pub session_store: Arc<dyn SessionStore>,
17 pub id_generator: Arc<dyn IdGenerator>,
18 pub server_details: Arc<InitializeResult>,
19 pub handler: Arc<dyn McpServerHandler>,
20 pub ping_interval: Duration,
21 pub sse_message_endpoint: String,
22 pub transport_options: Arc<TransportOptions>,
23}