1 /// <reference types="node" />
2 import RAL from '../common/ral';
3 import { AbstractMessageReader, DataCallback, AbstractMessageWriter, Message, ReadableStreamMessageReader, WriteableStreamMessageWriter, MessageWriterOptions, MessageReaderOptions, MessageReader, MessageWriter, ConnectionStrategy, ConnectionOptions, MessageConnection, Logger, Disposable } from '../common/api';
4 import { ChildProcess } from 'child_process';
5 import { Socket } from 'net';
6 export * from '../common/api';
7 export declare class IPCMessageReader extends AbstractMessageReader {
9 constructor(process: NodeJS.Process | ChildProcess);
10 listen(callback: DataCallback): Disposable;
12 export declare class IPCMessageWriter extends AbstractMessageWriter implements MessageWriter {
15 constructor(process: NodeJS.Process | ChildProcess);
16 write(msg: Message): Promise<void>;
20 export declare class SocketMessageReader extends ReadableStreamMessageReader {
21 constructor(socket: Socket, encoding?: RAL.MessageBufferEncoding);
23 export declare class SocketMessageWriter extends WriteableStreamMessageWriter {
25 constructor(socket: Socket, options?: RAL.MessageBufferEncoding | MessageWriterOptions);
28 export declare class StreamMessageReader extends ReadableStreamMessageReader {
29 constructor(readble: NodeJS.ReadableStream, encoding?: RAL.MessageBufferEncoding | MessageReaderOptions);
31 export declare class StreamMessageWriter extends WriteableStreamMessageWriter {
32 constructor(writable: NodeJS.WritableStream, options?: RAL.MessageBufferEncoding | MessageWriterOptions);
34 export declare function generateRandomPipeName(): string;
35 export interface PipeTransport {
36 onConnected(): Promise<[MessageReader, MessageWriter]>;
38 export declare function createClientPipeTransport(pipeName: string, encoding?: RAL.MessageBufferEncoding): Promise<PipeTransport>;
39 export declare function createServerPipeTransport(pipeName: string, encoding?: RAL.MessageBufferEncoding): [MessageReader, MessageWriter];
40 export interface SocketTransport {
41 onConnected(): Promise<[MessageReader, MessageWriter]>;
43 export declare function createClientSocketTransport(port: number, encoding?: RAL.MessageBufferEncoding): Promise<SocketTransport>;
44 export declare function createServerSocketTransport(port: number, encoding?: RAL.MessageBufferEncoding): [MessageReader, MessageWriter];
45 export declare function createMessageConnection(reader: MessageReader, writer: MessageWriter, logger?: Logger, options?: ConnectionStrategy | ConnectionOptions): MessageConnection;
46 export declare function createMessageConnection(inputStream: NodeJS.ReadableStream, outputStream: NodeJS.WritableStream, logger?: Logger, options?: ConnectionStrategy | ConnectionOptions): MessageConnection;