@redpc/core
Version:
Remoted Procedure Call (RedPC) - A javascript RPC library written with TypeScript
24 lines (13 loc) • 600 B
text/typescript
import { KnownTransports, TransmissionModes } from "types";
import { IDisposable } from "./IDisposable";
import { IMessage } from "./IMessage";
export type MessageReceiveCallback = (msg: IMessage) => Promise<IMessage>;
export interface ITransport extends IDisposable {
getName(): KnownTransports;
getCustomDriverName?(): string;
getTransmissionMode(): TransmissionModes;
start(config?: any): Promise<void>;
stop(): Promise<void>;
sendAsync(message: IMessage): Promise<IMessage>;
subscribe(callback: MessageReceiveCallback): IDisposable;
}