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

Method pumpOrpcStream

vscode/src/extension.ts:1508–1551  ·  view source on GitHub ↗
(
    streamId: string,
    iterator: AsyncIterator<unknown>,
    controller: AbortController
  )

Source from the content-addressed store, hash-verified

1506 }
1507
1508 private async pumpOrpcStream(
1509 streamId: string,
1510 iterator: AsyncIterator<unknown>,
1511 controller: AbortController
1512 ): Promise<void> {
1513 try {
1514 for await (const value of {
1515 [Symbol.asyncIterator]() {
1516 return iterator;
1517 },
1518 } as AsyncIterable<unknown>) {
1519 if (controller.signal.aborted) {
1520 break;
1521 }
1522
1523 this.postMessage({
1524 type: "orpcStreamData",
1525 streamId,
1526 value,
1527 });
1528 }
1529
1530 this.postMessage({
1531 type: "orpcStreamEnd",
1532 streamId,
1533 });
1534 } catch (error) {
1535 if (controller.signal.aborted) {
1536 this.postMessage({
1537 type: "orpcStreamEnd",
1538 streamId,
1539 });
1540 return;
1541 }
1542
1543 this.postMessage({
1544 type: "orpcStreamError",
1545 streamId,
1546 error: formatError(error),
1547 });
1548 } finally {
1549 this.activeOrpcStreams.delete(streamId);
1550 }
1551 }
1552
1553 private async handleOrpcCall(args: {
1554 requestId: string;

Callers 1

handleOrpcCallMethod · 0.95

Calls 3

postMessageMethod · 0.95
formatErrorFunction · 0.70
deleteMethod · 0.45

Tested by

no test coverage detected