(key: string, lease: ConnectionLease, exit: Exit.Exit<A, E>)
| 91 | }); |
| 92 | |
| 93 | const release = <A, E>(key: string, lease: ConnectionLease, exit: Exit.Exit<A, E>) => |
| 94 | Effect.gen(function* () { |
| 95 | if (shouldDropConnection(exit)) { |
| 96 | yield* closeQuietly(lease.connection); |
| 97 | return; |
| 98 | } |
| 99 | |
| 100 | const displaced = yield* Effect.sync(() => { |
| 101 | if (idle.has(key)) return lease.connection; |
| 102 | idle.set(key, { connection: lease.connection, idleSince: Date.now() }); |
| 103 | return undefined; |
| 104 | }); |
| 105 | if (displaced) yield* closeQuietly(displaced); |
| 106 | }); |
| 107 | |
| 108 | const withConnection: McpConnectionPool["withConnection"] = (key, connector, use) => { |
| 109 | let reused = false; |
no test coverage detected