提交 c27c51b5 编写于 作者: M Matt Bierner

Add api to get all tunnels from the tunnel service

上级 029009ea
......@@ -18,6 +18,8 @@ export interface RemoteTunnel {
export interface ITunnelService {
_serviceBrand: undefined;
readonly tunnels: Promise<Iterable<RemoteTunnel>>;
openTunnel(remotePort: number): Promise<RemoteTunnel> | undefined;
}
......
......@@ -8,6 +8,8 @@ import { ITunnelService, RemoteTunnel } from 'vs/platform/remote/common/tunnel';
export class NoOpTunnelService implements ITunnelService {
_serviceBrand: undefined;
public readonly tunnels: Promise<Iterable<RemoteTunnel>> = Promise.resolve([]);
openTunnel(_remotePort: number): Promise<RemoteTunnel> | undefined {
return undefined;
}
......
......@@ -97,6 +97,10 @@ export class TunnelService implements ITunnelService {
@ILogService private readonly logService: ILogService,
) { }
public get tunnels(): Promise<Iterable<RemoteTunnel>> {
return Promise.all(Array.from(this._tunnels.values()).map(x => x.value));
}
dispose(): void {
for (const { value } of this._tunnels.values()) {
value.then(tunnel => tunnel.dispose());
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册