@labelbox/message-bus
Version:
Distributed messaging in Typescript
34 lines (33 loc) • 1.35 kB
TypeScript
import { Handler } from './Handler';
import { Channel } from './Channel';
export declare type PendingRequest = {
resolve: (data?: any) => void;
reject: (e: Error) => void;
};
export declare type PendingRequests = {
[slotName: string]: {
[requestId: string]: PendingRequest;
};
};
export declare class Transport {
private _channel;
private _localHandlers;
private _localHandlerRegistrations;
private _remoteHandlers;
private _remoteHandlerRegistrationCallbacks;
private _remoteHandlerDeletionCallbacks;
private _pendingRequests;
private _channelReady;
constructor(_channel: Channel);
private _requestReceived;
private _responseReceived;
private _errorReceived;
private _registerRemoteHandler;
private _unregisterRemoteHandler;
private _unregisterAllRemoteHandlers;
private _rejectAllPendingRequests;
addRemoteHandlerRegistrationCallback(slotName: string, addLocalHandler: (p: string, h: Handler<any, any>) => void): void;
addRemoteHandlerUnregistrationCallback(slotName: string, removeHandler: (p: string, h: Handler<any, any>) => void): void;
registerHandler(slotName: string, param: string, handler: Handler<any, any>): void;
unregisterHandler(slotName: string, param: string, handler: Handler<any, any>): void;
}