move max uncompressed message size out of the session

This commit is contained in:
Vladimir Matveev 2016-07-08 16:47:51 -07:00
parent 2333c68eec
commit 6c775ebf97
5 changed files with 11 additions and 5 deletions

View File

@ -71,9 +71,11 @@ namespace Utils {
}
export function compress(s: string): any {
return Buffer ? new Buffer(s, "utf8") : { s, length: s.length };
return Buffer ? new Buffer(s, "utf8") : { data: s, length: s.length };
}
export const maxUncompressedMessageSize = Number.MAX_VALUE;
export function evalFile(fileContents: string, fileName: string, nodeContext?: any) {
const environment = getExecutionEnvironment();
switch (environment) {

View File

@ -693,6 +693,7 @@ namespace Harness.LanguageService {
{ isCancellationRequested: () => false },
/*useOneInferredProject*/ false,
Utils.byteLength,
Utils.maxUncompressedMessageSize,
Utils.compress,
process.hrtime, serverHost);

View File

@ -20,6 +20,8 @@ namespace ts.server {
return { data, length: data.length, compressionKind: "gzip" };
}
const maxUncompressedMessageSize = 84000;
class Logger implements ts.server.Logger {
private fd = -1;
private seq = 0;
@ -99,7 +101,7 @@ namespace ts.server {
class IOSession extends Session {
constructor(host: ServerHost, cancellationToken: HostCancellationToken, useSingleInferredProject: boolean, logger: ts.server.Logger) {
super(host, cancellationToken, useSingleInferredProject, Buffer.byteLength, compress, process.hrtime, logger);
super(host, cancellationToken, useSingleInferredProject, Buffer.byteLength, maxUncompressedMessageSize, compress, process.hrtime, logger);
}
exit() {

View File

@ -199,6 +199,7 @@ namespace ts.server {
cancellationToken: HostCancellationToken,
useSingleInferredProject: boolean,
private byteLength: (buf: string, encoding?: string) => number,
private maxUncompressedMessageSize: number,
private compress: (s: string) => CompressedData,
private hrtime: (start?: number[]) => number[],
private logger: Logger) {

View File

@ -43,7 +43,7 @@ namespace ts.server {
let lastSent: protocol.Message;
beforeEach(() => {
session = new Session(mockHost, nullCancellationToken, /*useOneInferredProject*/ false, Utils.byteLength, Utils.compress, process.hrtime, mockLogger);
session = new Session(mockHost, nullCancellationToken, /*useOneInferredProject*/ false, Utils.byteLength, Utils.maxUncompressedMessageSize, Utils.compress, process.hrtime, mockLogger);
session.send = (msg: protocol.Message) => {
lastSent = msg;
};
@ -268,7 +268,7 @@ namespace ts.server {
lastSent: protocol.Message;
customHandler = "testhandler";
constructor() {
super(mockHost, nullCancellationToken, /*useOneInferredProject*/ false, Utils.byteLength, Utils.compress, process.hrtime, mockLogger);
super(mockHost, nullCancellationToken, /*useOneInferredProject*/ false, Utils.byteLength, Utils.maxUncompressedMessageSize, Utils.compress, process.hrtime, mockLogger);
this.addProtocolHandler(this.customHandler, () => {
return { response: undefined, responseRequired: true };
});
@ -326,7 +326,7 @@ namespace ts.server {
class InProcSession extends Session {
private queue: protocol.Request[] = [];
constructor(private client: InProcClient) {
super(mockHost, nullCancellationToken, /*useOneInferredProject*/ false, Utils.byteLength, Utils.compress, process.hrtime, mockLogger);
super(mockHost, nullCancellationToken, /*useOneInferredProject*/ false, Utils.byteLength, Utils.maxUncompressedMessageSize, Utils.compress, process.hrtime, mockLogger);
this.addProtocolHandler("echo", (req: protocol.Request) => ({
response: req.arguments,
responseRequired: true