(key: string, lease: ConnectionLease, exit: Exit.Exit<A, E>)
| 140 | }); |
| 141 | |
| 142 | const release = <A, E>(key: string, lease: ConnectionLease, exit: Exit.Exit<A, E>) => |
| 143 | Effect.gen(function* () { |
| 144 | if (shouldDropConnection(exit)) { |
| 145 | yield* closeQuietly(lease.connection); |
| 146 | return; |
| 147 | } |
| 148 | |
| 149 | const displaced = yield* Effect.sync(() => { |
| 150 | if (idle.has(key)) return lease.connection; |
| 151 | idle.set(key, { connection: lease.connection, idleSince: Date.now() }); |
| 152 | return undefined; |
| 153 | }); |
| 154 | if (displaced) yield* closeQuietly(displaced); |
| 155 | }); |
| 156 | |
| 157 | const withConnection: McpConnectionPool["withConnection"] = (key, connector, use) => { |
| 158 | let reused = false; |
no test coverage detected