Feedback form pr #3513

This commit is contained in:
Wesley Wigham
2015-06-17 12:39:02 -07:00
parent 8554791574
commit 7390fe0eab
6 changed files with 18 additions and 37 deletions

View File

@@ -100,7 +100,6 @@ var serverSources = [
"editorServices.ts",
"protocol.d.ts",
"session.ts",
"nodeimpl.ts",
"server.ts"
].map(function (f) {
return path.join(serverDirectory, f);
@@ -112,7 +111,7 @@ var languageServiceLibrarySources = [
"session.ts"
].map(function (f) {
return path.join(serverDirectory, f);
});
}).concat(servicesSources);
var harnessSources = [
"harness.ts",
@@ -146,7 +145,6 @@ var harnessSources = [
"protocol.d.ts",
"session.ts",
"client.ts",
"nodeimpl.ts",
"editorServices.ts",
].map(function (f) {
return path.join(serverDirectory, f);
@@ -383,7 +381,7 @@ var lsslFile = path.join(builtLocalDirectory, "tslssl.js");
compileFile(
lsslFile,
languageServiceLibrarySources,
[builtLocalDirectory, copyright].concat(serverSources).concat(languageServiceLibrarySources),
[builtLocalDirectory, copyright].concat(languageServiceLibrarySources),
/*prefixes*/ [copyright],
/*useBuiltCompiler*/ true,
/*noOutFile*/ false,

View File

@@ -583,7 +583,7 @@ module Harness.LanguageService {
// This host is just a proxy for the clientHost, it uses the client
// host to answer server queries about files on disk
var serverHost = new SessionServerHost(clientHost);
var server = new ts.server.Session(serverHost, new ts.server.NodeEnvironment(), serverHost);
var server = new ts.server.Session(serverHost, Buffer.byteLength, process.hrtime, serverHost);
// Fake the connection between the client and the server
serverHost.writeMessage = client.onMessage.bind(client);

View File

@@ -1262,7 +1262,7 @@ module ts.server {
versions: LineIndexSnapshot[] = [];
minVersion = 0; // no versions earlier than min version will maintain change history
private currentVersion = 0;
private host: System;
private host: ServerHost;
static changeNumberThreshold = 8;
static changeLengthThreshold = 256;

View File

@@ -1,7 +0,0 @@
/// <reference path="node.d.ts" />
module ts.server {
export class NodeEnvironment implements Environment {
byteLength = Buffer.byteLength;
hrtime = process.hrtime;
}
}

View File

@@ -173,8 +173,8 @@ module ts.server {
}
class IOSession extends Session {
constructor(host: ServerHost, env: NodeEnvironment, logger: ts.server.Logger) {
super(host, env, logger);
constructor(host: ServerHost, logger: ts.server.Logger) {
super(host, Buffer.byteLength, process.hrtime, logger);
}
exit() {
@@ -265,7 +265,7 @@ module ts.server {
}
};
var ioSession = new IOSession(ts.sys, new NodeEnvironment(), logger);
var ioSession = new IOSession(ts.sys, logger);
process.on('uncaughtException', function(err: Error) {
ioSession.logError(err, "unknown");
});

View File

@@ -107,21 +107,6 @@ module ts.server {
export interface ServerHost extends ts.System {
}
export interface Environment {
byteLength: (buf: string, encoding?: string) => number;
hrtime: (start?: number[]) => number[]; //array of seconds, nanoseconds
}
export interface Message {
type: string,
seq: number
}
export interface Event extends Message {
event: string;
body?: any;
}
export class Session {
projectService: ProjectService;
@@ -132,7 +117,12 @@ module ts.server {
immediateId: any;
changeSeq = 0;
constructor(private host: ServerHost, private environment: Environment, private logger: Logger) {
constructor(
private host: ServerHost,
private byteLength: (buf: string, encoding?: string) => number,
private hrtime: (start?: number[]) => number[],
private logger: Logger
) {
this.projectService =
new ProjectService(host, logger, (eventName,project,fileName) => {
this.handleEvent(eventName, project, fileName);
@@ -163,17 +153,17 @@ module ts.server {
this.host.write(line + this.host.newLine);
}
send(msg: Message) {
send(msg: protocol.Message) {
var json = JSON.stringify(msg);
if (this.logger.isVerbose()) {
this.logger.info(msg.type + ": " + json);
}
this.sendLineToClient('Content-Length: ' + (1 + this.environment.byteLength(json, 'utf8')) +
this.sendLineToClient('Content-Length: ' + (1 + this.byteLength(json, 'utf8')) +
'\r\n\r\n' + json);
}
event(info: any, eventName: string) {
var ev: Event = {
var ev: protocol.Event = {
seq: 0,
type: "event",
event: eventName,
@@ -852,7 +842,7 @@ module ts.server {
onMessage(message: string) {
if (this.logger.isVerbose()) {
this.logger.info("request: " + message);
var start = this.environment.hrtime();
var start = this.hrtime();
}
try {
var request = <protocol.Request>JSON.parse(message);
@@ -994,7 +984,7 @@ module ts.server {
}
if (this.logger.isVerbose()) {
var elapsed = this.environment.hrtime(start);
var elapsed = this.hrtime(start);
var seconds = elapsed[0]
var nanoseconds = elapsed[1];
var elapsedMs = ((1e9 * seconds) + nanoseconds)/1000000.0;