()
| 401 | } |
| 402 | |
| 403 | function pruneStaleQueues(): void { |
| 404 | const now = Date.now(); |
| 405 | for (const [uuid, lastActivity] of viewLastActivity) { |
| 406 | if (now - lastActivity > COMMAND_TTL_MS) { |
| 407 | viewLastActivity.delete(uuid); |
| 408 | commandQueues.delete(uuid); |
| 409 | viewFieldNames.delete(uuid); |
| 410 | viewsPolled.delete(uuid); |
| 411 | viewSourcePaths.delete(uuid); |
| 412 | stopFileWatch(uuid); |
| 413 | } |
| 414 | } |
| 415 | } |
| 416 | |
| 417 | // Periodic sweep so abandoned views don't leak |
| 418 | setInterval(pruneStaleQueues, SWEEP_INTERVAL_MS).unref(); |
nothing calls this directly
no test coverage detected
searching dependent graphs…