UNPKG

@sussudio/platform

Version:

Internal APIs for VS Code's service injection the base services.

46 lines (44 loc) 1.57 kB
/*--------------------------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ import { IAddress } from './remoteAgentConnection.mjs'; export declare const ISharedProcessTunnelService: import('../../instantiation/common/instantiation.mjs').ServiceIdentifier<ISharedProcessTunnelService>; export declare const ipcSharedProcessTunnelChannelName = 'sharedProcessTunnel'; export interface ISharedProcessTunnel { tunnelLocalPort: number | undefined; localAddress: string; } /** * A service that creates tunnels on the shared process */ export interface ISharedProcessTunnelService { readonly _serviceBrand: undefined; /** * Create a tunnel. */ createTunnel(): Promise<{ id: string; }>; /** * Start a previously created tunnel. * Can only be called once per created tunnel. */ startTunnel( authority: string, id: string, tunnelRemoteHost: string, tunnelRemotePort: number, tunnelLocalPort: number | undefined, elevateIfNeeded: boolean | undefined, ): Promise<ISharedProcessTunnel>; /** * Set the remote address info for a previously created tunnel. * Should be called as often as the resolver resolves. */ setAddress(id: string, address: IAddress): Promise<void>; /** * Destroy a previously created tunnel. */ destroyTunnel(id: string): Promise<void>; }