UNPKG

@theia/core

Version:

Theia is a cloud & desktop IDE framework implemented in TypeScript.

32 lines 1.8 kB
/// <reference types="node" /> import { Channel, WriteBuffer } from '../../common/message-rpc'; import { MessagingService } from './messaging-service'; import { Socket } from 'socket.io'; import { ConnectionHandlers } from './default-messaging-service'; import { FrontendConnectionService } from './frontend-connection-service'; import { AbstractChannel } from '../../common/message-rpc/channel'; import { WebsocketEndpoint } from './websocket-endpoint'; export declare class WebsocketFrontendConnectionService implements FrontendConnectionService { protected readonly websocketServer: WebsocketEndpoint; protected readonly wsHandlers: ConnectionHandlers<unknown>; protected readonly connectionsByFrontend: Map<string, ReconnectableSocketChannel>; protected readonly closeTimeouts: Map<string, NodeJS.Timeout>; protected readonly channelsMarkedForClose: Set<string>; registerConnectionHandler(spec: string, callback: (params: MessagingService.PathParams, channel: Channel) => void): void; protected handleConnection(socket: Socket, channelCreatedHandler: (channel: Channel) => void): Promise<void>; protected closeConnection(frontEndId: string, reason: string): void; protected createConnection(socket: Socket, frontEndId: string): ReconnectableSocketChannel; handleSocketDisconnect(socket: Socket, channel: ReconnectableSocketChannel, frontEndId: string): void; markForClose(channelId: string): void; private frontendConnectionTimeout; } declare class ReconnectableSocketChannel extends AbstractChannel { private socket; private socketBuffer; private disposables; connect(socket: Socket): void; disconnect(): void; getWriteBuffer(): WriteBuffer; } export {}; //# sourceMappingURL=websocket-frontend-connection-service.d.ts.map