Upsilon-VsCode/Client/node_modules/vscode-jsonrpc/lib/messageWriter.d.ts

53 lines
1.8 KiB
TypeScript
Executable File

/// <reference types="node" />
import { ChildProcess } from 'child_process';
import { Socket } from 'net';
import { Message } from './messages';
import { Event } from './events';
export interface MessageWriter {
readonly onError: Event<[Error, Message | undefined, number | undefined]>;
readonly onClose: Event<void>;
write(msg: Message): void;
dispose(): void;
}
export declare namespace MessageWriter {
function is(value: any): value is MessageWriter;
}
export declare abstract class AbstractMessageWriter {
private errorEmitter;
private closeEmitter;
constructor();
dispose(): void;
readonly onError: Event<[Error, Message | undefined, number | undefined]>;
protected fireError(error: any, message?: Message, count?: number): void;
readonly onClose: Event<void>;
protected fireClose(): void;
private asError;
}
export declare class StreamMessageWriter extends AbstractMessageWriter implements MessageWriter {
private writable;
private encoding;
private errorCount;
constructor(writable: NodeJS.WritableStream, encoding?: string);
write(msg: Message): void;
}
export declare class IPCMessageWriter extends AbstractMessageWriter implements MessageWriter {
private process;
private queue;
private sending;
private errorCount;
constructor(process: NodeJS.Process | ChildProcess);
write(msg: Message): void;
doWriteMessage(msg: Message): void;
}
export declare class SocketMessageWriter extends AbstractMessageWriter implements MessageWriter {
private socket;
private queue;
private sending;
private encoding;
private errorCount;
constructor(socket: Socket, encoding?: string);
write(msg: Message): void;
doWriteMessage(msg: Message): void;
private handleError;
}