From 3f6cbfa4dd2331bb59ee87477e11f963a35c0924 Mon Sep 17 00:00:00 2001 From: Asher Date: Thu, 10 Oct 2019 16:12:38 -0500 Subject: [PATCH] Handle up/down/close on client --- src/browser/client.ts | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/browser/client.ts b/src/browser/client.ts index c2c926bf..c83e4bac 100644 --- a/src/browser/client.ts +++ b/src/browser/client.ts @@ -14,6 +14,7 @@ import { TelemetryChannelClient } from "vs/server/src/common/telemetry"; import "vs/workbench/contrib/localizations/browser/localizations.contribution"; import "vs/workbench/contrib/update/electron-browser/update.contribution"; import { IRemoteAgentService } from "vs/workbench/services/remote/common/remoteAgentService"; +import { PersistentConnectionEventType } from "vs/platform/remote/common/remoteAgentConnection"; class TelemetryService extends TelemetryChannelClient { public constructor( @@ -34,8 +35,17 @@ class NodeProxyService extends NodeProxyChannelClient implements INodeProxyServi public constructor( @IRemoteAgentService remoteAgentService: IRemoteAgentService, ) { - // TODO: up/down/close super(remoteAgentService.getConnection()!.getChannel("nodeProxy")); + remoteAgentService.getConnection()!.onDidStateChange((state) => { + switch (state.type) { + case PersistentConnectionEventType.ConnectionGain: + return this._onUp.fire(); + case PersistentConnectionEventType.ConnectionLost: + return this._onDown.fire(); + case PersistentConnectionEventType.ReconnectionPermanentFailure: + return this._onClose.fire(); + } + }); } }