UNPKG

vscode-jsonrpc

Version:
50 lines (49 loc) 1.69 kB
import { ChildProcess } from 'child_process'; import { Message } from './messages'; import { Event } from './events'; export interface DataCallback { (data: Message): void; } export interface PartialMessageInfo { messageToken: number; waitingTime: number; } export interface MessageReader { onError: Event<Error>; onClose: Event<void>; onPartialMessage: Event<PartialMessageInfo>; listen(callback: DataCallback): void; } export declare abstract class AbstractMessageReader { private errorEmitter; private closeEmitter; private partialMessageEmitter; constructor(); onError: Event<Error>; protected fireError(error: any): void; onClose: Event<void>; protected fireClose(): void; onPartialMessage: Event<PartialMessageInfo>; protected firePartialMessage(info: PartialMessageInfo): void; private asError(error); } export declare class StreamMessageReader extends AbstractMessageReader implements MessageReader { private readable; private callback; private buffer; private nextMessageLength; private messageToken; private partialMessageTimer; private _partialMessageTimeout; constructor(readable: NodeJS.ReadableStream, encoding?: string); partialMessageTimeout: number; listen(callback: DataCallback): void; private onData(data); private clearPartialMessageTimer(); private setPartialMessageTimer(); } export declare class IPCMessageReader extends AbstractMessageReader implements MessageReader { private process; constructor(process: NodeJS.Process | ChildProcess); listen(callback: DataCallback): void; }