ajsfw
Version:
Ajs Framework
29 lines (28 loc) • 1.43 kB
TypeScript
import { ITransportInterface } from "../message-transport/ITransportInterface";
import { IRMIEndpointRegisteredListener } from "./IRMIEndpointRegisteredListener";
export declare class RMIRouter {
private __initialized;
private __nextEndpointId;
private __routingTable;
private __nextCallId;
private __callPromises;
private __endpointReadyListeners;
constructor();
addInterface(iface: ITransportInterface): void;
addEndpointRegisteredListener(listener: IRMIEndpointRegisteredListener): void;
removeEndpointReegisteredListener(listener: IRMIEndpointRegisteredListener): void;
registerRmiEndpoint(iface: ITransportInterface, endpointId: number): Promise<number>;
endpointRegistrationConfirmed(iface: ITransportInterface, endpointId: number): Promise<void>;
makeCall(target: number, method: string, ...args: any[]): Promise<any>;
notify(target: number, method: string, ...args: any[]): void;
private __getNextCallId();
private __returnOk(target, callId, data);
private __returnError(target, callId, errorCode, error);
private __sendRMIMessage(target, rmiType, data);
private __processMessage(iface, message);
private __processCall(iface, sourceId, call);
private __processNotify(iface, sourceId, notify);
private __processReturn(ret);
private __routeMessage(iface, message);
private __getNextEndpointId();
}