MCPcopy Create free account
hub / github.com/UsefulSoftwareCo/executor / dispose

Function dispose

packages/hosts/mcp/src/in-memory-session-store.ts:312–332  ·  view source on GitHub ↗
(id: string, opts: { transport?: boolean; server?: boolean } = {})

Source from the content-addressed store, hash-verified

310 ignoreClose(id, "executor", executor ? () => Effect.runPromise(executor.close()) : undefined);
311
312 const dispose = async (id: string, opts: { transport?: boolean; server?: boolean } = {}) => {
313 const transport = transports.get(id);
314 const server = servers.get(id);
315 const engine = engines.get(id);
316 const executor = executors.get(id);
317 const closer = closers.get(id);
318 transports.delete(id);
319 servers.delete(id);
320 owners.delete(id);
321 engines.delete(id);
322 executors.delete(id);
323 closers.delete(id);
324 lastSeen.delete(id);
325 activeRequests.delete(id);
326 if (opts.transport)
327 await ignoreClose(id, "transport", transport ? () => transport.close() : undefined);
328 if (opts.server) await ignoreClose(id, "server", server ? () => server.close() : undefined);
329 await shutdownEngine(id, engine);
330 await shutdownExecutor(id, executor);
331 await ignoreClose(id, "session", closer);
332 };
333
334 /**
335 * Drive a transport for one web request, recovering any defect to a 500. On a

Callers 4

openSessionFunction · 0.70
sweepIdleSessionsFunction · 0.70

Calls 6

shutdownEngineFunction · 0.85
shutdownExecutorFunction · 0.85
ignoreCloseFunction · 0.70
getMethod · 0.65
deleteMethod · 0.65
closeMethod · 0.65

Tested by

no test coverage detected