793
794
private static _requestMixedArgs(req: number, rpcId: number, method: string, args: readonly MixedArg[], usesCancellationToken: boolean): VSBuffer {
796
>
797
>
let len = 0;
798
>
len += MessageBuffer.sizeUInt8();
799
>
len += MessageBuffer.sizeShortString(methodBuff);
800
>
len += MessageBuffer.sizeMixedArray(args);
801
>
802
>
const result = MessageBuffer.alloc(usesCancellationToken ? MessageType.RequestMixedArgsWithCancellation : MessageType.RequestMixedArgs, req, len);
803
>
result.writeUInt8(rpcId);
804
>
result.writeShortString(methodBuff);
805
>
result.writeMixedArray(args);
806
>
return result.buffer;
807
>
}
808
809
public static deserializeRequestMixedArgs(buff: MessageBuffer): { rpcId: number; method: string; args: any[] } {
811
>
const method = buff.readShortString();
812
>
const rawargs = buff.readMixedArray();
813
>
const args: any[] = new Array(rawargs.length);
814
>
for (let i = 0, len = rawargs.length; i < len; i++) {
815
>
const rawarg = rawargs[i];
816
>
if (typeof rawarg === 'string') {
817
args[i] = JSON.parse(rawarg);
819
>
args[i] = rawarg;
820
>
}
821
>
}
822
>
return {
823
>
rpcId: rpcId,
824
>
method: method,
825
>
args: args
826
>
};
827
>
}
828
829
public static serializeAcknowledged(req: number): VSBuffer {