348
break;
349
}
351
this._receiveReplyErr(msgLength, req, undefined);
352
break;
353
}
355
console.error(`received unexpected message`);
356
console.error(rawmsg);
358
>
}
359
360
private _receiveRequest(msgLength: number, req: number, rpcId: number, method: string, args: any[], usesCancellationToken: boolean): void {
361
>
this._logger?.logIncoming(msgLength, req, RequestInitiator.OtherSide, `receiveRequest ${getStringIdentifierForProxy(rpcId)}.${method}(`, args);
rpcProtocol.ts
362
>
const callId = String(req);
363
>
364
>
let promise: Promise<any>;
365
>
let cancel: () => void;
366
>
if (usesCancellationToken) {
367
const cancellationTokenSource = new CancellationTokenSource();
368
args.push(cancellationTokenSource.token);
369
promise = this._invokeHandler(rpcId, method, args);
370
cancel = () => cancellationTokenSource.cancel();
372
// cannot be cancelled
373
promise = this._invokeHandler(rpcId, method, args);
374
cancel = noop;
375
}
377
>
this._cancelInvokedHandlers[callId] = cancel;
378
>
379
>
// Acknowledge the request
380
>
const msg = MessageIO.serializeAcknowledged(req);
381
>
this._logger?.logOutgoing(msg.byteLength, req, RequestInitiator.OtherSide, `ack`);
382
>
this._protocol.send(msg);
383
>
384
>
promise.then((r) => {
385
delete this._cancelInvokedHandlers[callId];
386
const msg = MessageIO.serializeReplyOK(req, r, this._uriReplacer);
387
this._logger?.logOutgoing(msg.byteLength, req, RequestInitiator.OtherSide, `reply:`, r);
388
this._protocol.send(msg);
390
delete this._cancelInvokedHandlers[callId];
391
const msg = MessageIO.serializeReplyErr(req, err);
392
this._logger?.logOutgoing(msg.byteLength, req, RequestInitiator.OtherSide, `replyErr:`, err);
393
this._protocol.send(msg);
395
>
}
396
397
private _receiveCancel(msgLength: number, req: number): void {