提交 c403c760 编写于 作者: J Joao Moreno

remove TPromise from ipc.net

上级 72484fd0
......@@ -6,7 +6,6 @@
'use strict';
import { Socket, Server as NetServer, createConnection, createServer } from 'net';
import { TPromise } from 'vs/base/common/winjs.base';
import { Event, Emitter, once, mapEvent, fromNodeEventEmitter } from 'vs/base/common/event';
import { IMessagePassingProtocol, ClientConnectionEvent, IPCServer, IPCClient } from 'vs/base/parts/ipc/node/ipc';
import { join } from 'path';
......@@ -247,10 +246,10 @@ export class Client extends IPCClient {
}
}
export function serve(port: number): TPromise<Server>;
export function serve(namedPipe: string): TPromise<Server>;
export function serve(hook: any): TPromise<Server> {
return new TPromise<Server>((c, e) => {
export function serve(port: number): Thenable<Server>;
export function serve(namedPipe: string): Thenable<Server>;
export function serve(hook: any): Thenable<Server> {
return new Promise<Server>((c, e) => {
const server = createServer();
server.on('error', e);
......@@ -261,11 +260,11 @@ export function serve(hook: any): TPromise<Server> {
});
}
export function connect(options: { host: string, port: number }, clientId: string): TPromise<Client>;
export function connect(port: number, clientId: string): TPromise<Client>;
export function connect(namedPipe: string, clientId: string): TPromise<Client>;
export function connect(hook: any, clientId: string): TPromise<Client> {
return new TPromise<Client>((c, e) => {
export function connect(options: { host: string, port: number }, clientId: string): Thenable<Client>;
export function connect(port: number, clientId: string): Thenable<Client>;
export function connect(namedPipe: string, clientId: string): Thenable<Client>;
export function connect(hook: any, clientId: string): Thenable<Client> {
return new Promise<Client>((c, e) => {
const socket = createConnection(hook, () => {
socket.removeListener('error', e);
c(Client.fromSocket(socket, clientId));
......
......@@ -145,11 +145,11 @@ function main(server: Server, initData: ISharedProcessInitData, configuration: I
});
}
function setupIPC(hook: string): TPromise<Server> {
function setup(retry: boolean): TPromise<Server> {
function setupIPC(hook: string): Thenable<Server> {
function setup(retry: boolean): Thenable<Server> {
return serve(hook).then(null, err => {
if (!retry || platform.isWindows || err.code !== 'EADDRINUSE') {
return TPromise.wrapError(err);
return Promise.reject(err);
}
// should retry, not windows and eaddrinuse
......@@ -158,7 +158,7 @@ function setupIPC(hook: string): TPromise<Server> {
client => {
// we could connect to a running instance. this is not good, abort
client.dispose();
return TPromise.wrapError(new Error('There is an instance already running.'));
return Promise.reject(new Error('There is an instance already running.'));
},
err => {
// it happens on Linux and OS X that the pipe is left behind
......@@ -167,7 +167,7 @@ function setupIPC(hook: string): TPromise<Server> {
try {
fs.unlinkSync(hook);
} catch (e) {
return TPromise.wrapError(new Error('Error deleting the shared ipc hook.'));
return Promise.reject(new Error('Error deleting the shared ipc hook.'));
}
return setup(false);
......
......@@ -111,7 +111,7 @@ class ExpectedError extends Error {
public readonly isExpected = true;
}
function setupIPC(accessor: ServicesAccessor): TPromise<Server> {
function setupIPC(accessor: ServicesAccessor): Thenable<Server> {
const logService = accessor.get(ILogService);
const environmentService = accessor.get(IEnvironmentService);
const requestService = accessor.get(IRequestService);
......@@ -136,7 +136,7 @@ function setupIPC(accessor: ServicesAccessor): TPromise<Server> {
return promise;
}
function setup(retry: boolean): TPromise<Server> {
function setup(retry: boolean): Thenable<Server> {
return serve(environmentService.mainIPCHandle).then(server => {
// Print --status usage info
......@@ -163,7 +163,7 @@ function setupIPC(accessor: ServicesAccessor): TPromise<Server> {
return server;
}, err => {
if (err.code !== 'EADDRINUSE') {
return TPromise.wrapError<Server>(err);
return Promise.reject<Server>(err);
}
// Since we are the second instance, we do not want to show the dock
......@@ -181,7 +181,7 @@ function setupIPC(accessor: ServicesAccessor): TPromise<Server> {
logService.error(msg);
client.dispose();
return TPromise.wrapError<Server>(new Error(msg));
return Promise.reject(new Error(msg));
}
// Show a warning dialog after some timeout if it takes long to talk to the other instance
......@@ -203,14 +203,14 @@ function setupIPC(accessor: ServicesAccessor): TPromise<Server> {
// Process Info
if (environmentService.args.status) {
return service.getMainProcessInfo().then(info => {
return diagnosticsService.printDiagnostics(info).then(() => TPromise.wrapError(new ExpectedError()));
return diagnosticsService.printDiagnostics(info).then(() => Promise.reject(new ExpectedError()));
});
}
// Log uploader
if (typeof environmentService.args['upload-logs'] !== 'undefined') {
return uploadLogs(channel, requestService, environmentService)
.then(() => TPromise.wrapError(new ExpectedError()));
.then(() => Promise.reject(new ExpectedError()));
}
logService.trace('Sending env to running instance...');
......@@ -225,7 +225,7 @@ function setupIPC(accessor: ServicesAccessor): TPromise<Server> {
clearTimeout(startupWarningDialogHandle);
}
return TPromise.wrapError(new ExpectedError('Sent env to running instance. Terminating...'));
return Promise.reject(new ExpectedError('Sent env to running instance. Terminating...'));
});
},
err => {
......@@ -237,7 +237,7 @@ function setupIPC(accessor: ServicesAccessor): TPromise<Server> {
);
}
return TPromise.wrapError<Server>(err);
return Promise.reject<Server>(err);
}
// it happens on Linux and OS X that the pipe is left behind
......@@ -247,7 +247,7 @@ function setupIPC(accessor: ServicesAccessor): TPromise<Server> {
fs.unlinkSync(environmentService.mainIPCHandle);
} catch (e) {
logService.warn('Could not delete obsolete instance handle', e);
return TPromise.wrapError<Server>(e);
return Promise.reject<Server>(e);
}
return setup(false);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册