@@ -13,16 +13,17 @@ import { exec } from 'child_process';
1313import * as resources from 'vs/base/common/resources' ;
1414import * as fs from 'fs' ;
1515import { isLinux } from 'vs/base/common/platform' ;
16- import { IExtHostTunnelService , TunnelOptions , TunnelDto } from 'vs/workbench/api/common/extHostTunnelService' ;
16+ import { IExtHostTunnelService , TunnelDto } from 'vs/workbench/api/common/extHostTunnelService' ;
1717import { asPromise } from 'vs/base/common/async' ;
1818import { Event , Emitter } from 'vs/base/common/event' ;
19+ import { TunnelOptions } from 'vs/platform/remote/common/tunnel' ;
1920
2021class ExtensionTunnel implements vscode . Tunnel {
2122 private _onDispose : Emitter < void > = new Emitter ( ) ;
22- onDispose : Event < void > = this . _onDispose . event ;
23+ onDidDispose : Event < void > = this . _onDispose . event ;
2324
2425 constructor (
25- public readonly remote : { port : number ; host : string ; } ,
26+ public readonly remoteAddress : { port : number ; host : string ; } ,
2627 public readonly localAddress : string ,
2728 private readonly _dispose : ( ) => void ) { }
2829
@@ -48,11 +49,11 @@ export class ExtHostTunnelService extends Disposable implements IExtHostTunnelSe
4849 this . registerCandidateFinder ( ) ;
4950 }
5051 }
51- async makeTunnel ( forward : TunnelOptions ) : Promise < vscode . Tunnel | undefined > {
52+ async openTunnel ( forward : TunnelOptions ) : Promise < vscode . Tunnel | undefined > {
5253 const tunnel = await this . _proxy . $openTunnel ( forward ) ;
5354 if ( tunnel ) {
54- const disposableTunnel : vscode . Tunnel = new ExtensionTunnel ( tunnel . remote , tunnel . localAddress , ( ) => {
55- return this . _proxy . $closeTunnel ( tunnel . remote ) ;
55+ const disposableTunnel : vscode . Tunnel = new ExtensionTunnel ( tunnel . remoteAddress , tunnel . localAddress , ( ) => {
56+ return this . _proxy . $closeTunnel ( tunnel . remoteAddress ) ;
5657 } ) ;
5758 this . _register ( disposableTunnel ) ;
5859 return disposableTunnel ;
@@ -65,8 +66,8 @@ export class ExtHostTunnelService extends Disposable implements IExtHostTunnelSe
6566 }
6667
6768 async setForwardPortProvider ( provider : vscode . RemoteAuthorityResolver | undefined ) : Promise < IDisposable > {
68- if ( provider && provider . forwardPort ) {
69- this . _forwardPortProvider = provider . forwardPort ;
69+ if ( provider && provider . tunnelFactory ) {
70+ this . _forwardPortProvider = provider . tunnelFactory ;
7071 await this . _proxy . $setTunnelProvider ( ) ;
7172 } else {
7273 this . _forwardPortProvider = undefined ;
@@ -91,11 +92,11 @@ export class ExtHostTunnelService extends Disposable implements IExtHostTunnelSe
9192 const providedPort = this . _forwardPortProvider ! ( tunnelOptions ) ;
9293 if ( providedPort !== undefined ) {
9394 return asPromise ( ( ) => providedPort ) . then ( tunnel => {
94- if ( ! this . _extensionTunnels . has ( tunnelOptions . remote . host ) ) {
95- this . _extensionTunnels . set ( tunnelOptions . remote . host , new Map ( ) ) ;
95+ if ( ! this . _extensionTunnels . has ( tunnelOptions . remoteAddress . host ) ) {
96+ this . _extensionTunnels . set ( tunnelOptions . remoteAddress . host , new Map ( ) ) ;
9697 }
97- this . _extensionTunnels . get ( tunnelOptions . remote . host ) ! . set ( tunnelOptions . remote . port , tunnel ) ;
98- this . _register ( tunnel . onDispose ( ( ) => this . _proxy . $closeTunnel ( tunnel . remote ) ) ) ;
98+ this . _extensionTunnels . get ( tunnelOptions . remoteAddress . host ) ! . set ( tunnelOptions . remoteAddress . port , tunnel ) ;
99+ this . _register ( tunnel . onDidDispose ( ( ) => this . _proxy . $closeTunnel ( tunnel . remoteAddress ) ) ) ;
99100 return Promise . resolve ( TunnelDto . fromApiTunnel ( tunnel ) ) ;
100101 } ) ;
101102 }
0 commit comments