UNPKG

open-collaboration-server

Version:

Open Collaboration Server implementation, part of the Open Collaboration Tools project

47 lines 1.59 kB
import { Socket } from 'socket.io'; import * as ws from 'ws'; import { Disposable, Event, Message } from 'open-collaboration-protocol'; export declare class Channel { private onDidCloseEmitter; private onDidDisconnectEmitter; private onDidReconnectEmitter; private onMessageEmitter; get onClose(): Event<void>; get onDisconnect(): Event<void>; get onReconnect(): Event<void>; get transport(): TransportChannel | undefined; set transport(transport: TransportChannel | undefined); private _transport?; private buffer; private toDispose; private closeTimeout; constructor(transport: TransportChannel); get onMessage(): Event<Message>; sendMessage(message: Message): void; close(): void; } export interface TransportChannel { onMessage(cb: (message: Message) => void): Disposable; sendMessage(message: Message): void; close(): void; onClose: Event<void>; } export declare class WebSocketChannel implements TransportChannel { private onDidCloseEmitter; get onClose(): Event<void>; private _socket; constructor(socket: ws.WebSocket); onMessage(cb: (message: Message) => void): Disposable; sendMessage(message: Message): void; close(): void; } export declare class SocketIoChannel implements TransportChannel { private onDidCloseEmitter; get onClose(): Event<void>; private _socket; constructor(socket: Socket); onMessage(cb: (message: Message) => void): Disposable; sendMessage(message: Message): void; close(): void; } //# sourceMappingURL=channel.d.ts.map