mcp: evict expired transport sessions
This commit is contained in:
@@ -54,6 +54,7 @@ const HEADER_MCP_SESSION_ID: &str = "MCP-Session-Id";
|
||||
const HEADER_MCP_PROTOCOL_VERSION: &str = "MCP-Protocol-Version";
|
||||
const HEADER_X_REQUEST_ID: HeaderName = HeaderName::from_static("x-request-id");
|
||||
const MAX_REQUEST_ID_LEN: usize = 128;
|
||||
const TRANSPORT_SESSION_TTL_MS: u64 = 86_400_000;
|
||||
|
||||
#[derive(Clone, Copy)]
|
||||
enum ResponseMode {
|
||||
@@ -1682,6 +1683,7 @@ async fn handle_initialize(
|
||||
);
|
||||
};
|
||||
let now = OffsetDateTime::now_utc();
|
||||
let expires_at = add_millis(now, TRANSPORT_SESSION_TTL_MS);
|
||||
let session_id = match state
|
||||
.sessions
|
||||
.create(
|
||||
@@ -1689,6 +1691,7 @@ async fn handle_initialize(
|
||||
&path.workspace_slug,
|
||||
&path.agent_slug,
|
||||
now,
|
||||
Some(expires_at),
|
||||
)
|
||||
.await
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user