MCPcopy Index your code
hub / github.com/coder/mux / settleWorkspaceTurnWaiters

Method settleWorkspaceTurnWaiters

src/node/services/taskService.ts:4707–4724  ·  view source on GitHub ↗

* Settle pending workspace-turn waiters. Returns whether any foreground waiter consumed the * terminal result — callers use this to suppress a duplicate terminal wake-up notification.

(
    handleId: string,
    settlement:
      | { status: "completed"; result: WorkspaceTurnWaitResult }
      | { status: "error"; error: Error }
  )

Source from the content-addressed store, hash-verified

4705 * terminal result — callers use this to suppress a duplicate terminal wake-up notification.
4706 */
4707 private settleWorkspaceTurnWaiters(
4708 handleId: string,
4709 settlement:
4710 | { status: "completed"; result: WorkspaceTurnWaitResult }
4711 | { status: "error"; error: Error }
4712 ): boolean {
4713 assert(handleId.length > 0, "settleWorkspaceTurnWaiters requires handleId");
4714 const waiters = this.pendingWorkspaceTurnWaitersByHandleId.get(handleId) ?? [];
4715 this.pendingWorkspaceTurnWaitersByHandleId.delete(handleId);
4716 for (const waiter of waiters) {
4717 if (settlement.status === "completed") {
4718 waiter.resolve(settlement.result);
4719 } else {
4720 waiter.reject(settlement.error);
4721 }
4722 }
4723 return waiters.length > 0;
4724 }
4725
4726 private async cleanupDisposableWorkspaceTurn(
4727 record: WorkspaceTurnTaskHandleRecord

Callers 2

settleWorkspaceTurnMethod · 0.95

Calls 4

resolveMethod · 0.80
getMethod · 0.65
assertFunction · 0.50
deleteMethod · 0.45

Tested by

no test coverage detected